linux - 通过pid文件杀死进程

标签 linux

我尝试通过 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/

相关文章:

python - 读取未知目录中的文件

c++ - 如何在WSL 2中读取物理内存?

linux - 为 linux 2.6.39 内核做一个简单的系统调用

java - Maven 使用与系统不同的时区

python - 限制python和opencv上的视频捕获帧速率

linux - 为什么管道输出到 bash 函数不起作用

linux - perl5 数字符号 # 不适用于注释

linux - Gitlab CI 9.5 服务未运行

linux - 在很短的时间内连接非常大(~TByte)的文件

php - yum 更新依赖错误