我有一个文件“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