Проблема с этим могла состоять в том, что Ваш example.txt не имеет новой строки в конце Вашего файла.
Когда Вы звоните pkill -f resque
это также соответствует Вашему сценарию, отправляя ему SIGTERM. Если Вы не можете включить дополнительные ограничения pkill
команды, такие как более точное соответствие, необходимо будет уничтожить PIDs по одному, чтобы гарантировать, что сценарий не уничтожает себя. Вот пример:
pids=( $(pgrep -f resque) )
for pid in "${pids[@]}"; do
if [[ $pid != $$ ]]; then
kill "$pid"
fi
done