分类:
2010-09-16 17:57:15
在 AIX 中的 ps 有个 -k 选项,它列出系统中所有 kernel processes(内核进程), ps -k 输出中是不含 init 等进程的,init 这些进程叫 system daemon(系统守护进程),注意用 ps -ef 选项是看不到 kernel processes 的,不过 ps aux 选项也能列出 kernel processes. 在经典书籍《》中 Evi Nemeth 没有对 kernel processes 作出区分,在 中 kernel process 都叫 system daemon, 当然这不是什么错误。W. Richard Stevens 在其《》 中对此作了区分,在描述进程 ID 号是 0 的 swapper 进程和 ID 号是 1 的 init 进程时,他用了不同词汇,我倾向于作出区分,这有几个优点:一是便于交流时指定对象;二是对内核提供另一个观察角度(哈哈,你可以从内核进程去看啊,init 等是用户层面的进程);三是在运行管理上做到分类监控。
下面是一个 AIX 机器上 ps -k 命令输出:
$ oslevel -r
5300-06
$ ps -k | head -1; ps -k | sed -e 1d | sort -k4
PID TTY TIME CMD
61830 - 0:00 AtapeManager
131460 - 0:00 CgDaemon
122998 - 0:00 MpAsyncIoDaemon
131198 - 0:00 MpDeferredDaemon
127360 - 0:00 MpGeneralRequestDaemon
123260 - 0:19 MpPeriodicDaemon
127098 - 0:00 MpPirpNotDoneDaemon
119160 - 0:00 MpTestDaemon
110698 - 0:00 MpaaAsyncIoDaemon
118898 - 0:00 MpaaDeferredDaemon
115060 - 0:00 MpaaGeneralRequestDaemon
110960 - 0:19 MpaaPeriodicDaemon
114798 - 0:00 MpaaPirpNotDoneDaemon
106860 - 0:00 MpaaTestDaemon
98664 - 0:00 MpapAsyncIoDaemon
69990 - 0:00 MpapCloseDaemon
94566 - 0:00 MpapDispatchDaemon
102502 - 0:00 MpapGrDaemon
74088 - 0:20 MpapPeriodicCallbackDaemon
86112 - 0:00 MpapResumeIoDaemon
106600 - 0:00 MpapTestDaemon
65888 - 0:00 MpcAsyncIoDaemon
78180 - 0:00 MpcDispatchDaemon
69712 - 0:00 MpcGrDaemon
86410 - 6:47 MpcPeriodicCallbackDaemon
98424 - 0:00 MpcResumeIoDaemon
82034 - 0:00 MpcTestDaemon
139398 - 0:00 MpcTestDaemon CK200054902310
135298 - 0:00 SapiDaemon
135590 - 0:21 aioserver
139660 - 0:36 aioserver
143498 - 0:19 aioserver
143760 - 0:40 aioserver
147598 - 0:34 aioserver
147860 - 0:39 aioserver