linux下查看进程指令-ps

来源:互联网 发布:滨州行知中学地址 编辑:程序博客网 时间:2024/04/30 12:04

在Linux下查看进程指令可以用ps(process status)


是unix/Linux下通用的进程状态查看工具

ps的常用选项

选项 功能介绍
-a 显示所有终端中的进程。注意只有与终端关联的进程才会显示,那些守护进程或没有和终端关联的将不被显示。
-x 显示那些不关联终端的进程。
-u 显示进程所有者的信息
-f 显示进程的父进程信息
-o 对ps指令显示的信息进行定制,例如:pid、comm、%cpu、%mem、state、tty、euser、ruser
用法举例:

1.直接在命令行中使用ps指令

[root@localhost ~]# ps
  PID TTY          TIME CMD
 6026 pts/1    00:00:00 bash
 6050 pts/1    00:00:00 ps

可以发现输出信息非常少,仅仅显示了跟当前终端相关的进程信息。

2.显示所有用户的进程信息

[root@localhost ~]# ps -a
  PID TTY          TIME CMD
 3522 tty1     00:00:00 startx
 3538 tty1     00:00:00 xinit
 3543 tty1     00:00:00 gnome-session
 3565 tty1     00:00:00 xinitrc <defunct>
 3571 tty1     00:00:00 dbus-launch
 3579 tty1     00:00:00 gconfd-2
 3584 tty1     00:00:00 gnome-keyring-d
 6051 pts/1    00:00:00 ps

可以看到输出信息要比第一步多了,但是也仅仅显示了所有与终端关联的进程信息。

3.显示所有进程(包括不予终端关联的进程)信息。

[root@localhost ~]# ps ax
  PID     TTY      STAT   TIME COMMAND
    1         ?        Ss     0:01 init [3]                             
    2         ?        S<     0:00 [migration/0]
    3        ?        SN     0:00 [ksoftirqd/0]
    4        ?        S<     0:00 [watchdog/0]
    5        ?        S<     0:00 [events/0]
内容很多,这里省略掉。。。。。
 6026 pts/1    Ss     0:00 -bash
 6063 pts/1    R+     0:00 ps ax

那些问号表示没有终端关联的进程。但是显示的信息不够全面

4.显示全部进程,及其更加详细的信息

[root@localhost ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   2072   636 ?        Ss   00:33   0:01 init [3]                             
root         2  0.0  0.0      0     0 ?        S<   00:33   0:00 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   00:33   0:00 [ksoftirqd/0]
内容很多,这里省略掉。。。。。
root      6026  0.0  0.1   5648  1396 pts/1    Ss   14:17   0:00 -bash
root      6095  0.0  0.0   5368   944 pts/1    R+   14:22   0:00 ps aux

这就是使用u选项后的输出。这些输出信息需要对操作系统有比较深入的了解后才能真正的理解。

ps还有很多其他选项,请查阅man ps的帮助信息。

 ps指令经常有下面的用法:

1.统计当前的进程数目

[root@localhost ~]# ps aux | wc -l
121

进去header后进程数为120

2.过滤统计指定的进程数

[root@localhost ~]# ps aux | grep httpd | wc -l
     37

表明httpd进程有37个

3.分屏查看进程信息

[root@localhost ~]# ps aux | more

输出信息省略

0 0
原创粉丝点击