ps 命令的使用方法

网友投稿 745 2022-09-21

ps 命令的使用方法

ps 命令的使用方法

ps 不显示实时数据,只是当时的快照数据

1、显示所有进程

BSD风格:在BSD风格的语法选项前不带连字符。

ps aux

UNIX/LINUX的风格:在linux风格的语法选项前面有一个破折号如常。

ps -ef

# ps -ef | head -2

UID         PID   PPID  C STIME TTY          TIME CMD

root          1      0  0 Nov03 ?        00:00:09 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

UID    //用户ID、但输出的是用户名

PID    //进程的ID

PPID    //父进程ID

C      //进程占用CPU的百分比

STIME  //进程启动到现在的时间

TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。

CMD    //命令的名称和参数

# ps aux | head -2

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root          1  0.0  0.3 192112  7412 ?        Ss   Nov03   0:09 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

USER      //用户名

%CPU      //进程占用的CPU百分比

%MEM      //占用内存的百分比

VSZ      //该进程使用的虚拟內存量(KB)

RSS      //该进程占用的固定內存量(KB)(驻留中页的数量)

STAT      //进程的状态

START    //该进程被触发启动时间

TIME      //该进程实际使用CPU运行的时间

其中STAT状态位常见的状态字符有

D      //无法中断的休眠状态(通常 IO 的进程);

R      //正在运行可中在队列中可过行的;

S      //处于休眠状态;

T      //停止或被追踪;

W      //进入内存交换 (从内核2.6开始无效);

X      //死掉的进程 (基本很少见);

Z      //僵尸进程;

<      //优先级高的进程

N      //优先级较低的进程

L      //有些页被锁进内存;

s      //进程的领导者(在它之下有子进程);

l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);

+      //位于后台的进程组;

2、根据用户显示进程:

# ps -f -u mysql

UID         PID   PPID  C STIME TTY          TIME CMD

mysql     17980  17979  0 Nov03 pts/0    00:00:00 -bash

mysql     18019  17980  0 Nov03 pts/0    00:00:00 python

3、通过名字和进程ID显示进程:

# ps -C TTY          TIME CMD

19617 ?        00:00:00 ?        00:00:00 ?        00:00:00 ?        00:00:00 ?        00:00:00 ?        00:00:00 ps aux --sort=-pcpu,+pmem | less

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root      19617  0.1  0.2 226128  5080 ?        Ss   00:24   0:00 /usr/sbin/-DFOREGROUND

5、用树的风格显示进程的层次关系:

# ps -f --forest -C        PID   PPID  C STIME TTY          TIME CMD

root      19617      1  0 00:24 ?        00:00:00 /usr/sbin/-DFOREGROUND

apache    19618  19617  0 00:24 ?        00:00:00  \_ /usr/sbin/-DFOREGROUND

apache    19619  19617  0 00:24 ?        00:00:00  \_ /usr/sbin/-DFOREGROUND

apache    19620  19617  0 00:24 ?        00:00:00  \_ /usr/sbin/-DFOREGROUND

apache    19621  19617  0 00:24 ?        00:00:00  \_ /usr/sbin/-DFOREGROUND

apache    19622  19617  0 00:24 ?        00:00:00  \_ /usr/sbin/-DFOREGROUND

6、显示一个父进程的子进程:

# ps -o pid,ppid,uname,comm -C  PPID USER     COMMAND

19617      1 root     19617 apache   19617 apache   19617 apache   19617 apache   19617 apache   ps --ppid 19617

PID TTY          TIME CMD

19618 ?        00:00:00 ?        00:00:00 ?        00:00:00 ?        00:00:00 ?        00:00:00 ps -p 19617 -L

PID    LWP TTY          TIME CMD

19617  19617 ?        00:00:00 支持的 选项  man ps 查看 STANDARD FORMAT SPECIFIERS

# ps -e -o pid,uname,pcpu,pmem,comm |head -2

PID USER     %CPU %MEM COMMAND

1 root      0.0  0.3 systemd

# ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm |head -2

PID USERNAME CPU_USAGE %MEM COMMAND

1 root           0.0  0.3 systemd

9、显示进程运行的时间:

# ps -e -o pid,comm,etime |head -2

PID COMMAND             ELAPSED

1 systemd            18:37:38

10、把ps命令变成一个实时查看器:

watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'

11、top 按数字查看具体的CPU个数

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:怎样查看unix和linux的HBA卡的WWN地址
下一篇:Vmware Tools 配合SHell脚本实现自动正常关闭ESXI6.0过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~