5

Предположим, я выполняю (в интерактивной оболочке bash) цикл, который порождает несколько последовательных процессов, таких как следующие.

for i in `seq 15 42`; do if [ -f F$i.flv.mp3 ]; then play F$i.flv.mp3; fi; done 

Если я уничтожу текущий процесс с помощью Control-C , он просто перейдет к следующему процессу в цикле, и мне придется отдельно уничтожать процессы, запущенные с помощью итерации цикла.

Не убив мою интерактивную оболочку, могу ли я остановить цикл от генерации или последовательных процессов?

2 ответа2

4

В моих тестах Control-C прерывал цикл, но если этого не произошло, я бы сделал Control-Z чтобы остановить работу, а затем kill %1 чтобы убить всю работу.

0

В общем нет, но я знаю, что добавить это в длительный цикл:

if test -f /tmp/please-stop; then break; fi

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .