在 kill 语句之后,脚本会打印“Terminated”,并且以下几行代码永远不会被执行:
#!/bin/bash
kill -9 `ps -ef | grep MailSender | grep -v grep | awk '{print $2}'`
echo starting
./MailSender
我甚至尝试set +e
在开始时添加但它仍然在杀死后退出。
答案1
你的脚本名称是否包含MailSender
?如果包含,请尝试更改它。此外,使用pkill -9
,它会更简洁:
#!/bin/bash
pkill -9 MailSender
echo starting
./MailSender
答案2
pkill 将杀死任何包含 MailSender 的内容,也许您的脚本名称中包含 MailSender。请更改它。