我尝试通过 pid 文件杀死一个进程:
kill -9 $(cat /var/run/myProcess.pid)
pid 文件包含进程号。但是执行 kill 没有给我标准输出,并且进程仍然存在。但这有效:
kill -9 PID
第一个 kill 命令有什么问题?是否无法从文件中提取PID?
pid文件的示例内容:
5424
和
kill -9 5424
有效。
最佳答案
我相信您会遇到这种情况,因为您的默认 shell 是 dash (debian almquist shell),但您使用的是 bash 语法。您可以在 shebang 行中指定 bash,例如,
#!/usr/bin/env bash
或者,您可以使用 admdrew 建议的 dash 和 bash 兼容的反引号表达式。在评论中
kill -9 `cat /var/run/myProcess.pid`
无论如何,你不能依赖 /bin/sh
成为 bash。
关于linux - 通过pid文件杀死进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26107090/