问题描述
如果我尝试在 bash 脚本中杀死一个进程,它会返回以下错误: : 参数必须是进程或作业 ID
#!/bin/bash
PID=`cat /var/www/html/pid.txt`
kill -SIGKILL $PID
解决方法
它就像 kill
正在获取一个非数字值一样。如果进程 ID 不存在,你会得到一个不同的错误(没有这样的进程)。
我会查看文本文件本身。确保没有任何特殊字符并且 PID 是纯数字。
尝试这样的事情:
kill -9 $(cat /var/www/html/pid.txt | sed -e 's/[^0-9]\+//g')
如果该进程不存在,我预计会出现这样的错误:
bash: kill: (2100) - No such process