ps 查看进程

以前只知道top查看进程,但是有一个问题就是,当多个命令一致的时候,具体不知道运行的命令是哪一条。例如在下图中,我同时跑了4个java,那么哪个是哪个样本呢?这时候就需要ps查看详细的命令。
ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令


  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
42799 qiany     20   0 39.171g 9.497g  12628 S 129.8  7.5  99:05.74 java
42962 qiany     20   0 39.171g 0.011t  12572 S 101.7  8.8 132:13.60 java
41427 qiany     20   0 39.171g 0.010t  12548 S  17.5  8.4 130:44.08 java
21992 ceph      20   0 4066544 2.577g   4864 S   0.7  2.0 676:18.32 ceph-osd
35458 ceph      20   0 4050404 2.623g   5980 S   0.7  2.1 488:12.72 ceph-osd
41858 qiany     20   0 39.171g 0.011t  12564 S   0.7  8.7 155:43.62 java
  174 root      20   0       0      0      0 S   0.3  0.0   2:28.07 ksoftirqd/27
  203 root      rt   0       0      0      0 S   0.3  0.0   0:09.62 migration/32
 1492 root      20   0   19444   1352   1016 S   0.3  0.0 105:04.76 irqbalance
21999 ceph      20   0 4082292 2.501g   5540 S   0.3  2.0 793:10.04 ceph-osd

这篇文章中介绍的ps命令很详细,可以参考
https://www.cnblogs.com/wxgblogs/p/6591980.html
在此,我用的是

[qiany@gm112-2 bwa]$ ps -aux |grep java
qiany    41427  181  8.4 41074060 11116436 pts/12 Sl+ 19:41 125:07 java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /thinker/storage/udata/big/renyx/software/GATK/gatk4/gatk-4.0.6.0/gatk-package-4.0.6.0-local.jar FixMateInformation -I /thinker/globe/udata/big/qiany/gliomas/wes/bwa/6_T_marked.bam -O /thinker/globe/udata/big/qiany/gliomas/wes/bwa/6_T_marked_fixed.bam -SO coordinate
qiany    41858  250  8.5 41074060 11328504 pts/9 Sl+ 19:53 142:48 java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /thinker/storage/udata/big/renyx/software/GATK/gatk4/gatk-4.0.6.0/gatk-package-4.0.6.0-local.jar FixMateInformation -I /thinker/globe/udata/big/qiany/gliomas/wes/bwa/3_T_marked.bam -O /thinker/globe/udata/big/qiany/gliomas/wes/bwa/3_T_marked_fixed.bam -SO coordinate
qiany    42799  205  8.7 41074060 11519248 pts/2 Sl+ 20:08  87:05 java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /thinker/storage/udata/big/renyx/software/GATK/gatk4/gatk-4.0.6.0/gatk-package-4.0.6.0-local.jar FixMateInformation -I /thinker/globe/udata/big/qiany/gliomas/wes/bwa/10_T_marked.bam -O /thinker/globe/udata/big/qiany/gliomas/wes/bwa/10_T_marked_fixed.bam -SO coordinate
qiany    42962  287  8.8 41074060 11639452 pts/10 Sl+ 20:09 117:53 java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /thinker/storage/udata/big/renyx/software/GATK/gatk4/gatk-4.0.6.0/gatk-package-4.0.6.0-local.jar FixMateInformation -I /thinker/globe/udata/big/qiany/gliomas/wes/bwa/52_T_marked.bam -O /thinker/globe/udata/big/qiany/gliomas/wes/bwa/52_T_marked_fixed.bam -SO coordinate
qiany    45537  0.0  0.0 112664  2132 pts/4    S+   20:50   0:00 grep --color=auto java

因为通过top实际上已经知道了我需要查看的就是java,所以ps -aux列出所有的之后,再用grep java,提取java进程。同样,也可以用ps -ef 有着相同的效果。

[qiany@gm112-2 bwa]$ ps -ef |grep java
qiany    41427 41426 99 19:41 pts/12   02:08:23 java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /thinker/storage/udata/big/renyx/software/GATK/gatk4/gatk-4.0.6.0/gatk-package-4.0.6.0-local.jar FixMateInformation -I /thinker/globe/udata/big/qiany/gliomas/wes/bwa/6_T_marked.bam -O /thinker/globe/udata/big/qiany/gliomas/wes/bwa/6_T_marked_fixed.bam -SO coordinate
qiany    41858 41856 99 19:53 pts/9    02:29:40 java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /thinker/storage/udata/big/renyx/software/GATK/gatk4/gatk-4.0.6.0/gatk-package-4.0.6.0-local.jar FixMateInformation -I /thinker/globe/udata/big/qiany/gliomas/wes/bwa/3_T_marked.bam -O /thinker/globe/udata/big/qiany/gliomas/wes/bwa/3_T_marked_fixed.bam -SO coordinate
qiany    42799 42797 99 20:08 pts/2    01:33:22 java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /thinker/storage/udata/big/renyx/software/GATK/gatk4/gatk-4.0.6.0/gatk-package-4.0.6.0-local.jar FixMateInformation -I /thinker/globe/udata/big/qiany/gliomas/wes/bwa/10_T_marked.bam -O /thinker/globe/udata/big/qiany/gliomas/wes/bwa/10_T_marked_fixed.bam -SO coordinate
qiany    42962 42961 99 20:09 pts/10   02:04:55 java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /thinker/storage/udata/big/renyx/software/GATK/gatk4/gatk-4.0.6.0/gatk-package-4.0.6.0-local.jar FixMateInformation -I /thinker/globe/udata/big/qiany/gliomas/wes/bwa/52_T_marked.bam -O /thinker/globe/udata/big/qiany/gliomas/wes/bwa/52_T_marked_fixed.bam -SO coordinate
qiany    45788 40912  0 20:56 pts/4    00:00:00 grep --color=auto java

关于-ef 和-aux的区别,可以参考文章https://www.cnblogs.com/mydriverc/p/8303242.html
总结起来就是两者没有太大的区别,只是展示的格式有不同,现在的大部分Linux系统都是可以同时使用这两种方式的。

还有就是如果知道某一个进程的PID,也可以直接用ps PID查看这个进程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 命令参数 a 显示所有进程 -a 显示同一终端下的所有程序 -A 显示所有进程 c 显示进程的真实名称 -N 反向...
    smallThree1阅读 271评论 0 0
  • 一、Linux简介 1、什么是Linux 1.1、Linux操作系统:指GUN/Linux,采用Linux内核的G...
    飞吧sky阅读 1,085评论 1 3
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,550评论 0 16
  • 1.Linux下如何用命令查看实时日志(完整命令) tail -f 路径.log查看前多少行 tai-200f 路...
    qianyewhy阅读 2,340评论 0 11
  • 1、文件和目录: # cd /home 进入 '/home' 目录 # cd .. ...
    XDgbh阅读 2,049评论 0 1