如何用无限循环杀死一个作业

如何用无限循环杀死一个作业

我创建了一个名为 df.sh 的 shell 脚本:

#!/bin/sh
while true ; do 
df -hT
sleep 30
done &

然后我运行./df.sh(我授予执行权限)。

运行后,我想终止循环,但我不能。

答案1

使用

$ pkill -f df.sh

sleep 30这将向脚本发送终止信号,并且当前调用完成后脚本将立即终止。

或者,使用ps查找脚本的进程 ID 并向其发送终止信号:

$ ps

$ kill pid

pid其中 是 列出的脚本的整数进程 ID ps

答案2

首先,如果这是您的漏洞脚本,我建议您&在调用脚本而不是在末尾时使用while

./df.sh &

我建议您使用kill发送终止信号,或者kill -9如果进程在使用或获取pid进程后没有响应,则发送终止信号,您可以使用,psgreppgreppkilldf.sh,小心,如果您运行多次,它会调用所有进程,并且如果您将它与pkill -f它一起使用,它将杀死任何匹配df.sh模式的进程

相关内容