Linux查看进程详情命令之ps命令详解

文章
林里克斯

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。

一、ps命令有什么用


使用ps命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到。

ps命令是显示瞬间进程的状态,并不是动态连续;如果想对进程进行实时监控应该用top命令


二、ps 参数详解

$ ps --help a

Usage:
 ps [options]

Basic options:
 -A, -e               #所有的进程均显示出来,与 -e 具有同样的效用
 -a                   #显示现行终端机下的所有进程,包括其他用户的进程
 -d                   #显示所有进程,但不包括阶段作业领导者的进程
 -N, --deselect       #显示所有的进程,除了执行ps指令终端机下的进程之外
  r                   #显示仅运行进程
  T                   #显示此终端上的所有进程
  x                   #显示不控制tty的进程

Selection by list:
 -C <command>         #后面跟你要找的进程的名字 会列出所有有此名字的进程
 -G, --Group <GID>    #指定组ID或名称,列出组内执行的所有进程
 -g, --group <group>  #指定组名称,列出组内用户执行的所有进程
 -p, p, --pid <PID>   #指定pid,列出pid进程
        --ppid <PID>  parent process id
 -q, q, --quick-pid <PID>
                      #指定pid,列出pid进程 (快速模式)
 -s, --sid <session>  session id
 -t, t, --tty <tty>   #显示终端进程
 -u, U, --user <UID>  #指定userID或user name,列出user执行的所有进程
 -U, --User <UID>     #指定userID或user name,列出user执行的所有进程

  The selection options take as their argument either:
    a comma-separated list e.g. '-u root,nobody' or
    a blank-separated list e.g. '-p 123 4567'

Output formats:
 -F                   #最大化输出,包括命令行及UID,PPIP,C,RSS,PSR,STIME栏位
 -f                   #完整输出,包括命令行及UID,PPIP,C与STIME栏位
  f, --forest         ascii art process tree
 -H                   #显示进程层次结构,表示进程间的相互关系
 -j                   #进程作业格式
  j                   BSD job control format
 -l                   #以详细的格式来显示进程
  l                   BSD long format
 -M, Z                #添加安全数据(对于SELinux)
 -O <format>          #使用默认列预加载
  O <format>          as -O, with BSD personality
 -o, o, --format <format>
                      #使用默认列预加载t
  s                   #以信号格式来列出进程
  u                   user-oriented format
  v                   virtual memory format
  X                   register format
 -y                   #不显示标志,显示 rss 需要与 l 一直使用
     --context        display security context (for SELinux)
     --headers        repeat header lines, one per page
     --no-headers     do not print header at all
     --cols, --columns, --width <num>
                      set screen width
     --rows, --lines <num>
                      set screen height

     --help <simple|list|output|threads|misc|all>        #help 输出帮助内容多少
                      display help and exit

三、实操


1.ps

$ ps
  PID TTY          TIME CMD
 2963 pts/0    00:00:00 bash
 8755 pts/0    00:00:00 ps

#PID: 运行着的命令(CMD)的进程编号
#TTY: 命令所运行的位置(终端)
#TIME: 运行着的该命令所占用的CPU处理时间
#CMD: 该进程所运行的命令

2.根据CPU使用率来升序排序

$ ps -aux --sort -pcpu

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root     26511  1.5  0.3 148492  5700 ?        Ss   17:08   0:00 sshd: root@pts/0
root       399  0.2  0.0  90120  1576 ?        Rs   Jun29  45:44 /sbin/rngd -f
zabbix    1117  0.1  0.0  78452  1576 ?        S    Jun29  34:12 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
www       1288  0.1  3.5 271028 65964 ?        S    Jun29  22:18 php-fpm: pool www
www       1289  0.1  3.4 270496 65424 ?        S    Jun29  22:45 php-fpm: pool www
www       1290  0.1  3.4 270816 65440 ?        S    Jun29  22:10 php-fpm: pool www
www       1291  0.1  3.4 270480 65584 ?        S    Jun29  22:21 php-fpm: pool www
www       1294  0.1  3.4 270828 65680 ?        S    Jun29  22:46 php-fpm: pool www
root      1340  0.1  0.7 366672 14940 ?        Sl   Jun29  25:14 python task.pyc

3.根据内存使用率来升序排序

$ ps -aux --sort -pmem
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mysql     2577  0.1 17.1 1145404 322828 ?      Sl   Jun29  23:02 /www/server/mysql/bin/mysqld --basedir=/www/server/mysql --datadir=/www/server/data --plugin-dir=/www/server/mysql/lib/plu
www       3843  0.1  3.5 271388 66316 ?        S    Jun29  22:31 php-fpm: pool www
www       1288  0.1  3.5 271028 65956 ?        S    Jun29  22:18 php-fpm: pool www
www      17075  0.0  3.4 270972 65904 ?        S    Jun29  20:17 php-fpm: pool www
www      13024  0.0  3.4 270904 65820 ?        S    Jul11   3:04 php-fpm: pool www
www       1294  0.1  3.4 270828 65644 ?        S    Jun29  22:46 php-fpm: pool www
www       1291  0.1  3.4 270480 65568 ?        S    Jun29  22:21 php-fpm: pool www
www      17073  0.0  3.4 270592 65520 ?        S    Jun29  21:03 php-fpm: pool www
www       1290  0.1  3.4 270816 65440 ?        S    Jun29  22:10 php-fpm: pool www
www       1289  0.1  3.4 270496 65424 ?        S    Jun29  22:45 php-fpm: pool www
www      26635  0.0  3.4 270640 65352 ?        S    Jun30  20:50 php-fpm: pool www
www       5270  0.0  3.4 270676 65332 ?        S    Jun29  21:25 php-fpm: pool www
www      17074  0.0  3.4 270456 65252 ?        S    Jun29  20:50 php-fpm: pool www
www      17081  0.0  3.4 270020 65216 ?        S    Jun29  21:10 php-fpm: pool www
www      17080  0.0  3.4 270464 65176 ?        S    Jun29  20:57 php-fpm: pool www
www      17083  0.0  3.4 270184 64980 ?        S    Jun29  20:53 php-fpm: pool www
www      13029  0.0  3.4 267620 64320 ?        S    Jul11   2:59 php-fpm: pool www
www      17082  0.0  3.3 269040 63636 ?        S    Jun29  21:03 php-fpm: pool www
www       3841  0.1  3.3 268128 63500 ?        S    Jun29  22:37 php-fpm: pool www
www      13027  0.0  3.3 265436 62648 ?        S    Jul11   3:08 php-fpm: pool www
www      13028  0.0  2.6 253768 50720 ?        S    Jul11   3:04 php-fpm: pool www
www      26620  0.0  1.7 145264 32548 ?        S    17:10   0:00 nginx: worker process

4.合并显示 CPU 内存使用来排序,并只显示 10 个结果

$ ps -aux --sort -pcpu,+pmem | head -n 10

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       399  0.2  0.0  90120  1576 ?        Ss   Jun29  45:44 /sbin/rngd -f
zabbix    1117  0.1  0.0  78452  1576 ?        S    Jun29  34:13 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
root      1340  0.1  0.7 366672 14876 ?        Sl   Jun29  25:14 python task.pyc
www       3841  0.1  3.3 268128 63128 ?        S    Jun29  22:37 php-fpm: pool www
www       1291  0.1  3.4 270480 65192 ?        S    Jun29  22:21 php-fpm: pool www
www       1289  0.1  3.4 270496 65424 ?        S    Jun29  22:45 php-fpm: pool www
www       1290  0.1  3.4 270816 65440 ?        S    Jun29  22:10 php-fpm: pool www
www       1294  0.1  3.4 270828 65644 ?        S    Jun29  22:46 php-fpm: pool www
www       1288  0.1  3.5 271028 65956 ?        S    Jun29  22:18 php-fpm: pool www

5.树形的显示进程

$ ps -auxf

root      2871  0.0  0.1 105704  1928 ?        Ss   Jun29   0:00 /usr/sbin/sshd -D
root     26511  0.0  0.2 148492  3976 ?        Ss   17:08   0:00  \_ sshd: root@pts/0
root     26513  0.0  0.1 115524  2028 pts/0    Ss   17:09   0:00      \_ -bash
root     27005  0.0  0.1 150928  1896 pts/0    R+   17:17   0:00          \_ ps -auxf
root      3814  0.0  0.4 114544  7888 ?        Ss   Jun29   2:30 nginx: master process /www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf
www      26983  0.0  1.7 145264 33324 ?        S    17:17   0:00  \_ nginx: worker process
www      26984  0.0  0.3 114544  6608 ?        S    17:17   0:00  \_ nginx: cache manager process

或使用 pstree

$ pstree

systemd─┬─2*[agetty]
        ├─atd
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon
        ├─memcached───9*[{memcached}]
        ├─mysqld_safe───mysqld───16*[{mysqld}]
        ├─nginx───2*[nginx]
        ├─ntpd
        ├─php-fpm───20*[php-fpm]
        ├─php-fpm───5*[php-fpm]
        ├─polkitd───5*[{polkitd}]
        ├─pure-ftpd
        ├─python───10*[{python}]
        ├─python───2*[{python}]
        ├─redis-server───3*[{redis-server}]
        ├─rngd
        ├─rsyslogd───2*[{rsyslogd}]
        ├─2*[sendmail]
        ├─sshd───sshd───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─zabbix_agentd───5*[zabbix_agentd]

Over~

版权协议须知!

本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

1467 0 2020-07-14


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
博主卡片
林里克斯 博主大人
一个致力于Linux的运维平台
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。

现在时间 2024-12-28

今日天气
站点统计
  • 文章总数:241篇
  • 分类总数:29个
  • 评论总数:12条
  • 本站总访问量 353653 次

@奥奥

@Wong arrhenius 牛比

@MakerFace 厉害了!