电脑技术学习

对话 UNIX,第 8 部分: UNIX 进程

dn001

  获取列表

  就像所有其他系统资源一样,您的 Unix 有一个有限但十分庞大的进程池(实际上,系统中的进程几乎用之不尽)。每个新任务(如启动 vi 或运行 xclock)都会立即从池中分配到一个进程。在 UNIX 系统中,您可以使用 ps 命令,查看一个或多个进程。

  例如,如果您想查看您拥有的所有进程,键入 ps -w --user username :$ ps -w --user mstreicher

  您可以使用 ps -a -w -x 查看完整的进程列表。(ps 命令的格式和特定的标志随各个 UNIX 版本而有所差异。请参阅系统的联机文档,以查找具体的说明。) -a 是选择 tty 设备上运行的所有进程;-x 则可进一步选择与 tty 无关的所有进程,通常包括所有的永久系统服务,如 Apache HTTP server、cron 工作调度程序等等;-w 则以加宽的格式显示内容,在查看命令行或与每个进程相关的应用程序完整路径名时很有用。

  ps 具有丰富的功能,某些版本的 ps 甚至允许您自定义输出。例如,下面就是一个有用的自定义进程列表:

$ ps --user mstreicher -o pid,uname,command,state,stime,time
 PID USER   COMMAND     S STIME   TIME
14138 mstreic sshd: mstreicher S 09:57 00:00:00
14139 mstreic -bash      S 09:57 00:00:00
14937 mstreic ps --user mstrei R 10:23 00:00:00

  -o 根据各列名称的顺序对输出进行格式化。pid、uname 和 command 分别指进程 ID、用户名和命令。state 代表进程的状态,如正在睡眠 (S) 或运行 (R)。(稍后将对进程状态进行更详细的说明。)stime 显示命令的开始时间,time 则显示该进程占用了多少 CPU 时间。

  进程从哪里来?

标签: