Назад | Перейти на главную страницу

Почему kill выполняет завершение сценария bash

после оператора kill сценарий печатает «Завершено», и следующие строки никогда не выполняются:

#!/bin/bash

kill -9 `ps -ef | grep MailSender | grep -v grep | awk '{print $2}'`
echo starting
./MailSender

Я даже пытался добавить set +e в начале, но все равно выходит после kill.

Включает ли имя вашего скрипта MailSender? Если да, попробуйте изменить его. Также используйте pkill -9, будет чище:

#!/bin/bash

pkill -9 MailSender
echo starting
./MailSender

pkill убьет все, что содержит MailSender, возможно, ваш скрипт содержит MailSender в своем имени. Измени это.