我正在尝试编写一个 bash 脚本来查找正在运行的进程的 PID,然后发出终止命令。我已经部分工作了,但我面临的问题是可能有多个进程正在运行。我想向找到的每个 PID 发出终止命令。
我想我需要将每个 PID 放入一个数组中,但我不知道如何做到这一点。
到目前为止我所拥有的:
pid=$(ps -fe | grep '[p]rocess' | awk '{print $2}')
if [[ -n $pid ]]; then
echo $pid
#kill $pid
else
echo "Does not exist"
fi
这样做的目的是在一行上返回所有 PID,但我不知道如何将其拆分为一个数组。
这是一个可能有帮助的小衬里
for pid in `ps -ef | grep your_search_term | awk '{print $2}'` ; do kill $pid ; done
只需更换你的搜索词与您要杀死的进程名称。
您也可以将其制作成脚本并交换你的搜索词 for $1
EDIT:我想我应该解释一下这是如何工作的。
后面的勾号 `` 收集其中表达式的输出。在这种情况下,它将返回进程名称的 pid 列表。
使用 for 循环,我们可以迭代每个 pid 并终止该进程。
EDIT2:将kill -9 替换为kill
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)