Почему kill делает выход из bash-скрипта
После оператора kill скрипт выводит "Termination", и следующие строки никогда не выполняются:
#!/bin/bash
kill -9 `ps -ef | grep MailSender | grep -v grep | awk '{print $2}'`
echo starting
./MailSender
Я даже пытался добавить set +e
в начале, но он все еще выходит после убийства.
2 ответа
Решение
Включает ли название вашего сценария MailSender
? Попробуйте изменить это, если так. Также используйте pkill -9
будет чище
#!/bin/bash
pkill -9 MailSender
echo starting
./MailSender
pkill уничтожит все, что содержится в MailSender, возможно, ваш скрипт содержит MailSender в своем имени. Измени это.