为什么 kill 会导致 bash 脚本退出

为什么 kill 会导致 bash 脚本退出

在 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。请更改它。

相关内容