AI智能
改变未来

『学了就忘』Linux系统管理 — 82、Linux中进程的查看(ps命令)

[toc]

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 -auxWarning: bad syntax, perhaps a bogus \'-\'? See /usr/share/doc/procps-3.2.8/FAQUSER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot          1  0.0  0.0  19344  1548 ?        Ss   08:41   0:02 /sbin/initroot          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 auxUSER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDroot          1  0.0  0.0  19344  1548 ?        Ss   08:41   0:02 /sbin/initroot          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://www.cnblogs.com/liuyuelinfighting/p/15692465.html)

  • START

    :该进程的启动时间。

  • TIME

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

  • COMMAND

    :产生此进程的命令名。

提示:

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

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

说明:

我们可以看到

ps aux

命令的执行结果中,TTY输出项有的是

?

,其实这些都是由Linux系统内核直接产生的进程,不需要终端来调用,也就没有运行终端的信息。

3、ps -le命令示例

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

[root@localhost ~]# ps -leF S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD4 S     0      1      0  0  80   0 -  4836 poll_s ?        00:00:02 init1 S     0      2      0  0  80   0 -     0 kthrea ?        00:00:00 kthreadd1 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

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

说明:

ps aux

命令和

ps -le

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

具体用哪个命令,看自己的习惯。我比较习惯用

ps aux

命令查看Linux系统进程。

如果要看产生此进程的命令名的全程,就需要用

ps aux

命令,有的时候会比较方便。

4、pstree命令

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

pstree

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

[root@localhost ~]# pstree [选项]选项:-p:显示进程的PID。-u:显示进程的所属用户。

示例:

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 『学了就忘』Linux系统管理 — 82、Linux中进程的查看(ps命令)