我有一個文件「PID」中的進程ID 我想殺了它。linux shell:如何從文件讀取命令參數?
喜歡的東西:
kill -9 <read pid from file>
我想:
kill -9 `more pid`
,但它不工作。我也嘗試過xargs
,但無法擺脫困境。
我有一個文件「PID」中的進程ID 我想殺了它。linux shell:如何從文件讀取命令參數?
喜歡的東西:
kill -9 <read pid from file>
我想:
kill -9 `more pid`
,但它不工作。我也嘗試過xargs
,但無法擺脫困境。
讓我來總結所有的答案
kill -9 $(cat pid)
kill -9 `cat pid`
cat pid | xargs kill -9
我的偏好是
kill -9 `cat pid`
,將在反引號的任何命令工作。
kill -9 $(cat pid)
或cat pid | xargs kill -9
都將工作
你應該開始逐步關閉,然後向上移動到重的東西殺掉進程,如果它不希望發揮很好。
一個SIGKILL(-9)信號不能被捕獲,這將意味着該進程持有的任何資源都不會被清除。
嘗試先使用kill SIGTERM(-15),然後通過執行kill -0 $(cat pid)來檢查進程是否存在。如果它仍然在附近徘徊,那麼通過一切手段用-9來打破它。
SIGTERM可以被進程捕獲,任何已經正確編寫的進程都應該有一個信號處理程序來捕獲SIGTERM,然後在退出之前清理它的資源。
請注意,您可以傳遞'kill -s TERM'而不是'kill -15'。 – jpaugh 2018-02-05 18:33:18
我認爲這是殺害其B/C'more'可能期待用戶輸入'more'位。 – BCS 2009-11-10 22:59:35
http://www.speculation.org/garrick/kill-9.html – 2009-11-10 23:50:02