Process
這些程序是什麼,為什麼我不能殺死它們?
(在 OS X 10.11.3 上)我在啟動需要偵聽埠 8040 的 java 程序時遇到問題。獲取 BindException。所以似乎其他人已經在聽它了。快速檢查確認:
lsof -i TCP| fgrep LISTEN | grep 8040 jspawnhel 13566 alon 255u IPv6 0x2a5edc8fe0a093d7 0t0 TCP *:8040 (LISTEN) jspawnhel 14482 alon 255u IPv6 0x2a5edc8fe0a093d7 0t0 TCP *:8040 (LISTEN) jspawnhel 81770 alon 255u IPv6 0x2a5edc8fe0a093d7 0t0 TCP *:8040 (LISTEN)
所以,我試圖弄清楚這些過程是什麼,但我不明白 ps 向我展示了什麼:
ps ax | grep "13566\|14482\|81770" 13566 ?? U 0:00.00 313:316 14482 ?? U 0:00.00 324:327 81770 ?? U 0:00.00 301:304
“??”是什麼意思?意思是?在這種情況下 313:316 是什麼?
即使使用-9,我也無法殺死它:
kill -9 13566 ps ax | grep 13566 13566 ?? U 0:00.00 313:316
試了很多次…
任何幫助表示讚賞。
如果您在
ps ax
沒有 grep 的情況下執行,您將看到列標題:PID TT STAT TIME COMMAND
??
在TT
列中 - 這是該過程的控制終端。表示該??
程序未與終端關聯。列
U
中的STAT
表示程序處於不間斷睡眠狀態。這就解釋了為什麼你不能殺死它——在核心中的不間斷睡眠中被阻塞並且不能被喚醒以被終止。當程序最終退出不可中斷狀態時,它會注意到這個信號並死掉。右邊的數字在
COMMAND
列中——這是程序的名稱。至於那些過程是什麼,我不知道。