Ps
hp-ux ps,睡眠和等待有什麼區別?
在 hpux 上
ps -efl
我在輸出中看到字母 S,它的意思是“程序狀態”我看到像 S(睡眠)和 W(等待)這樣的聲音我知道(希望是正確的)睡眠的意思是“等待事件”,但它是什麼意思等待?我的疑問是:
S=Sleeping OK W=?
摘自 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 狀態(已終止,或“殭屍”)也是可以的,除非程序長時間處於該狀態;如果是這樣,那麼這是父程序出現問題的症狀,因此它無法/不會讀取其自己的子程序的退出程式碼。