带有 kill 命令的 Bash 脚本

问题描述

如果我尝试在 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