É possível matar um loop no bash sem matar a instância do bash executando o loop?

5

Suponha que eu execute (em um shell bash interativo) um loop que gera vários processos em sequência, como o seguinte.

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

Se eu matar o processo atual Control-C, ele passará para o próximo processo no loop e eu tenho que matar os processos iniciados por uma iteração do loop separadamente.

Sem matar meu shell interativo, posso parar o loop de gerar ou mais processos em sequência?

merlin2011
fonte

Respostas:

4

Nos meus testes, Control-Co loop é interrompido, mas, se não acontecesse, eu faria um Control-Zpara interromper o trabalho e depois kill %1matar o trabalho inteiro.

Ramillete
fonte
0

Em geral, não, mas sou conhecido por adicionar isso a um longo ciclo de execução:

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