Почему 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 в своем имени. Измени это.

Другие вопросы по тегам