我想杀死它的文件“pid”中有进程ID。
就像是:
kill -9 <read pid from file>
我试过:
kill -9 `more pid`
但它不起作用。我也尝试过xargs
,但无法理解它。
做
kill -9 $(cat pid)
为你工作?
让我总结一下所有答案
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,然后在退出之前清理其资源。