7

我想杀死它的文件“pid”中有进程ID。

就像是:

kill -9 <read pid from file>

我试过:

kill -9 `more pid` 

但它不起作用。我也尝试过xargs,但无法理解它。

4

5 回答 5

13

kill -9 $(cat pid)

为你工作?

于 2009-11-10T22:49:02.527 回答
12

让我总结一下所有答案

kill -9 $(cat pid)
kill -9 `cat pid`
cat pid | xargs kill -9
于 2009-11-11T16:37:45.553 回答
3

我的偏好是

kill -9 `cat pid`

这将适用于反引号中的任何命令。

于 2009-11-10T22:50:59.500 回答
2

kill -9 $(cat pid) 或者cat pid | xargs kill -9两者都可以

于 2009-11-10T22:53:16.373 回答
2

你应该逐渐开始,然后如果它不想玩得很好,那么就开始使用繁重的东西来杀死这个过程。

无法捕获 SIGKILL (-9) 信号,这意味着进程持有的任何资源都不会被清理。

首先尝试使用 kill SIGTERM (-15),然后仍然通过执行 kill -0 $(cat pid) 检查进程是否存在。如果它仍然在附近徘徊,那么一定要用-9来破坏它。

SIGTERM 可以被进程捕获,任何已正确编写的进程都应该有一个信号处理程序来捕获 SIGTERM,然后在退出之前清理其资源。

于 2009-11-10T23:00:11.743 回答