在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 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 输出信息省略