ps命令用来查看当前系统中运行的进程的信息.它可以提供关于进程的许多信息.可以根据显示的信息确定哪个进程正在运行,哪个进程是被挂起或出了问题,进程已运行了多久,进程正在使用的资源,进程的相对优先级及进程的标志号(PID).所有这些信息对用户都很有用,对于系统管理员来说更为重要.
一般格式:
常用选项:
1 2 3 4 5 6 7 -a 显示系统中与tty相关的(除会话组长之外)所有进程的信息. -e 显示所有进程的信息. -f 显示进程的所有信息. -l 以长格式显示进程信息. -r 只显示正在运行的进程. -u 显示面向用户的格式(包括用户名、CPU及内存使用情况等信息). -x 显示所有终端上的进程信息.
示例:
①列出每个与当前shell有关的进程的基本信息:
1 2 3 4 $ps PID TTY TIME CMD 9723 pts/0 00:00:00 bash 9751 pts/0 00:00:00 ps
其中,各字段的含义如下:
1 2 3 4 PID 进程标志号. TTY 该进程建立时所对应的终端,"?"表示该进程不占用终端. TIME 报告进程累计使用的CPU时间.注意,尽管有些命令(如 sh)已经运转了很长时间,但是它们真正使用CPU的时间往往很短.所以,该字段的值往往是00:00:00. CMD 执行进程的命令名.
②显示系统中所有进程的全面信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Jun25 ? 00:00:01 init [3] root 2 1 0 Jun25 ? 00:00:00 [migration/0] root 3 1 0 Jun25 ? 00:00:00 [ksoftirqd/0] root 4 1 0 Jun25 ? 00:00:00 [watchdog/0] root 5 1 0 Jun25 ? 00:00:00 [migration/1] root 6 1 0 Jun25 ? 00:00:00 [ksoftirqd/1] root 7 1 0 Jun25 ? 00:00:00 [watchdog/1] root 8 1 0 Jun25 ? 00:00:00 [events/0] root 9 1 0 Jun25 ? 00:00:00 [events/1] root 10 1 0 Jun25 ? 00:00:00 [khelper] …… root 9755 9723 0 10:10 pts/0 00:00:00 ps -ef
各项的含义是:
1 2 3 4 5 6 7 8 UID 进程属主的用户ID号. PID 进程ID号. PPID 父进程的ID号. C 进程最近使用CPU的估算. STIME 进程开始时间,以小时:分:秒的形式给出. TTY 该进程建立时所对应的终端,"?"表示该进程不占用终端. TIME 报告进程累计使用的CPU时间.注意,尽管有些命令(如 sh)己经运转了很长时间,但是它们真正使用CPU的时间往往很短.所以,该字段的值往往是0:00. CMD 是conunand(命令)的缩写.
③显示所有终端上所有用户的有关进程的所有信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 $ ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 2160 660 ? Ss Jun25 0:01 init [3] root 2 0.0 0.0 0 0 ? S< Jun25 0:00 [migration/0] root 3 0.0 0.0 0 0 ? SN Jun25 0:00 [ksoftirqd/0] root 4 0.0 0.0 0 0 ? S< Jun25 0:00 [watchdog/0] root 5 0.0 0.0 0 0 ? S< Jun25 0:00 [migration/1] root 6 0.0 0.0 0 0 ? SN Jun25 0:00 [ksoftirqd/1] root 7 0.0 0.0 0 0 ? S< Jun25 0:00 [watchdog/1] root 8 0.0 0.0 0 0 ? S< Jun25 0:00 [events/0] root 9 0.0 0.0 0 0 ? S< Jun25 0:00 [events/1] root 10 0.0 0.0 0 0 ? S< Jun25 0:00 [khelper] root 11 0.0 0.0 0 0 ? S< Jun25 0:00 [kthread] root 15 0.0 0.0 0 0 ? S< Jun25 0:00 [kblockd/0] root 16 0.0 0.0 0 0 ? S< Jun25 0:00 [kblockd/1] root 17 0.0 0.0 0 0 ? S< Jun25 0:00 [kacpid] root 120 0.0 0.0 0 0 ? S< Jun25 0:00 [cqueue/0] …… root 9784 0.0 0.0 5456 956 pts/0 R+ 10:23 0:00 ps -aux
在上面列表中列出的进程信息中包含了一些新的项,它们的含义是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 USER 启动进程的用户. %CPU 运行该进程占用CPU的时间与该进程总的运行时间的比例. %MEM 该进程占用内存和总内存的比例. VSZ 虚拟内存的大小,以KB为.单位. RSS 占用实际内存的大小,以KB为单位. STAT 进程的运行状态,其中包括以下几种代码: D 不可中断的睡眠. R 执行. S 睡眠. T 跟踪或停止. Z 终止. W 没有内存驻留页. < 高优先权的进程. N 低优先权的进程. L 有锁入内存的页面(用于实时任务或UO任务). START 开始运行的时间.