在shell脚本中杀死backgound进程
发布时间:2020-12-15 21:08:33 所属栏目:安全 来源:网络整理
导读:我有一个启动后台进程的脚本. #!/bin/sh./process1.sh ./process2.sh 我需要使用单独的脚本来终止这些进程. 这是我做的: #!/bin/sh# the kill.shpid=$(ps | grep './process1.sh' |grep -v grep| awk '{print $1}')kill -9 $pid 提问时间: 当调用kill.sh时
我有一个启动后台进程的脚本.
#!/bin/sh ./process1.sh & ./process2.sh & 我需要使用单独的脚本来终止这些进程. #!/bin/sh # the kill.sh pid=$(ps | grep './process1.sh' |grep -v grep| awk '{print $1}') kill -9 $pid 提问时间: >当调用kill.sh时,进程被停止.但是我收到了消息 “嘘:你需要指定杀人”. 值得一提的是我正在使用busybox,我选择的实用程序有限. 任何帮助,将不胜感激. 解决方法
您可以将进程ID存储在这样的临时文件中:
#!/bin/sh ./process1.sh & echo $! > /tmp/process1.pid ./process2.sh & echo $! > /tmp/process2.pid 然后用脚本删除它. $!返回上次执行的进程的PID. kill -9 `cat /tmp/process*.pid` rm /tmp/process*.pid 确保在相应的脚本完成后删除进程* .pid文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |