elbarna Asked: 2018-03-29 19:20:08 +0800 CST2018-03-29 19:20:08 +0800 CST 2018-03-29 19:20:08 +0800 CST hp-ux ps,睡眠和等待有什么区别? 772 在 hpux 上 ps -efl 我在输出中看到字母 S,它的意思是“进程状态”我看到像 S(睡眠)和 W(等待)这样的声音我知道(希望是正确的)睡眠的意思是“等待事件”,但它是什么意思等待?我的疑问是: S=Sleeping OK W=? hp-ux ps 1 个回答 Voted Best Answer telcoM 2018-03-29T22:49:09+08:002018-03-29T22:49:09+08:00 摘自 Asghar Ghori 所著的HP-UX:HP Certified Systems Administrator 11i v3一书(释义): 运行状态表示处理器当前正在由系统 CPU 执行 睡眠状态表明进程正在等待输入 当轮到它时进程准备好运行的等待状态 ... 换句话说,在只有一个 CPU 内核的系统中,一次只能有一个进程处于 Running 状态,而其他所有可能处于 Running 状态的进程都处于 Waiting 状态。 而且因为您需要运行一个进程来获取进程信息,所以在单核系统上,您可能只会看到ps在 R 状态下运行命令或类似进程信息工具的进程。只有在具有 2 个或更多 CPU 内核的系统上,您才能看到处于 R 状态的其他进程,同时您的进程正在运行以获取进程信息。 因此,在人类时间尺度上,R 和 W 状态实际上是等价的:在从内核接收到进程信息的时间和人类阅读屏幕上的显示并理解它的时间之间,W 中的几个进程state 可能已经打开了处理器(= 处于 R 状态)并返回到 W 状态以等待另一轮。 在某些情况下,所有进程状态都是“OK”的。例如,即使是 Z 状态(已终止,或“僵尸”)也是可以的,除非进程长时间处于该状态;如果是这样,那么这是父进程出现问题的症状,因此它无法/不会读取其自己的子进程的退出代码。
摘自 Asghar Ghori 所著的HP-UX:HP Certified Systems Administrator 11i v3一书(释义):
...
换句话说,在只有一个 CPU 内核的系统中,一次只能有一个进程处于 Running 状态,而其他所有可能处于 Running 状态的进程都处于 Waiting 状态。
而且因为您需要运行一个进程来获取进程信息,所以在单核系统上,您可能只会看到
ps
在 R 状态下运行命令或类似进程信息工具的进程。只有在具有 2 个或更多 CPU 内核的系统上,您才能看到处于 R 状态的其他进程,同时您的进程正在运行以获取进程信息。因此,在人类时间尺度上,R 和 W 状态实际上是等价的:在从内核接收到进程信息的时间和人类阅读屏幕上的显示并理解它的时间之间,W 中的几个进程state 可能已经打开了处理器(= 处于 R 状态)并返回到 W 状态以等待另一轮。
在某些情况下,所有进程状态都是“OK”的。例如,即使是 Z 状态(已终止,或“僵尸”)也是可以的,除非进程长时间处于该状态;如果是这样,那么这是父进程出现问题的症状,因此它无法/不会读取其自己的子进程的退出代码。