『无欲则无求』Linux系统管理 — 81、Linux进程的查看(ps命令)

1、ps命令介绍

ps命令是用来静态显示系统中进程的命令。

不过这个命令有些特殊,它部分命令的选项前不能加-,比如命令ps aux,其中aux是选项,但是这个选项前不能加-

这是因为ps命令的部分选项需要遵守BSD操作系统的格式,所以ps命令的常用选项的组合是固定的。

命令如下:

# 查看系统中所有进程,使用BSD操作系统格式。
# aux选项组合是一个习惯用法。
[root@localhost ~]# ps aux

# 查看系统中所有进程,使用Linux标准命令格式。
[root@localhost ~]# ps -le

常用选项:
а:显示终端上的所有进程,包括其他用户的进程。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
-l:长格式显示。显示更加详细的信息。
-е:显示所有进程,和-A作用一致
-h:不显示标题。
-f:全格式。
-w:宽输出。

2、ps aux命令示例

示例:查看系统中所有正在运行的进程。

[root@localhost ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.0  19344  1548 ?        Ss   08:41   0:02 /sbin/init
root          2  0.0  0.0      0     0 ?        S    08:41   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    08:41   0:00 [migration/0]
...省略...

如果aux选项前面加了一个-,就会出现一个行警告

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

提示你有语法错误,多了一个-

但是之后显示的Linux系统进程的结果是正确的。

我们把aux选项前面的-去掉就可以了,如下:

[root@localhost ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.0  19344  1548 ?        Ss   08:41   0:02 /sbin/init
root          2  0.0  0.0      0     0 ?        S    08:41   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    08:41   0:00 [migration/0]
...省略...

ps aux命令输出项解释:

  • USER:该进程是由哪个用户产生的。

  • PID:进程的ID号。

  • %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源。

  • %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源。

  • VSZ:该进程占用虚拟内存的大小,单位KB。

  • RSS:该进程占用实际物理内存的大小,单位KB。

  • TTY:该进程是在哪个终端中运行的。

    其中tty1-tty7代表本地控制台终端(可以通过alt+F1-F7键切换不同的终端),tty1-tty6是本地的字符界面终端,tty7是图形终端。

    pts/0-255代表虚拟终端,一般是远程连接的终端,第一个远程连接占用的是pts/0终端,第二个远程连接占用pts/1,依次增长。

  • STAT:进程状态。(点击链接,可查看文章中的进程状态介绍。https://blog.csdn.net/Liuyuelinjiayou/article/details/107991440

  • START:该进程的启动时间。

  • TIME:该进程占用CPU的运算时间,注意不是系统时间,时间越长证明该进程越耗资源。

  • COMMAND:产生此进程的命令名。

提示:

Linux系统中,用户的名称,文件的名称,包括进程的名称等,都是给用户看的。

Linux系统查找的时候,还是根据ID信息来进行查找。

说明:我们可以看到ps aux命令的执行结果中,TTY输出项有的是,其实这些都是由Linux系统内核直接产生的进程,不需要终端来调用,也就没有运行终端的信息。

3、ps -le命令示例

示例:查看系统中所有正在运行的进程。

[root@localhost ~]# ps -le
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0      1      0  0  80   0 -  4836 poll_s ?        00:00:02 init
1 S     0      2      0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd
1 S     0      3      2  0 -40   - -     0 migrat ?        00:00:00 migration/0
...省略...

ps -le命令输出项解释:

  • F:进程标志,说明进程的权限。

    常见的标志有:

    1:进程可以复制,但是不能执行。

    4:进程使用超级用户权限。

  • S:进程状态。具体的状态和ps aux命令中STAT状态一致。

  • UID:进程是哪个UID用户调用运行的。

  • PID:进程的ID号。

  • PPID:父进程的ID号。

  • C:该进程的CPU使用率,单位是百分比。

  • PRI:进程的优先级,数值越小该进程优先级越高,越快被CPU执行。

  • NI:进程的优先级,也是数值越小越早被执行。

  • ADDR:该进程在内存的哪个位置。

  • SZ:该进程占用多大内存。

  • WCHAN:该进程是否运行。-代表正在运行。

  • TTY:该进程由哪个终端产生的。

  • TIME:该进程占用CPU的运算时间,注意不是系统时间。

  • CMD:产生此进程的命令名(缩写)。

4、说明

ps aux命令和ps -le命令,两个命令都是静态查看Linux系统所有正在运行的进程。

具体用哪个命令,看自己的习惯。我比较习惯用ps aux命令查看Linux系统进程。

如果要看产生此进程的命令名的全程,就需要用ps aux命令,有的时候会比较方便。

5、pstree命令

可以查看到进程之间依赖关系的,一个进程会依赖哪些进程。

pstree命令也是查看Linux系统中进程的命令,是以树型关系方式展示的。

[root@localhost ~]# pstree [选项]

选项:
-p:显示进程的PID。
-u:显示进程的所属用户。

示例:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值