Nos meus testes, Control-C
quebra o loop, mas se não, eu faria um Control-Z
para parar o trabalho, e então kill %1
para matar o trabalho todo.
Suponha que eu execute (em um shell bash interativo) um loop que gera vários processos em sequência, como os seguintes.
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 com Control-C
, ele irá 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?
Nos meus testes, Control-C
quebra o loop, mas se não, eu faria um Control-Z
para parar o trabalho, e então kill %1
para matar o trabalho todo.
Em geral não, mas sou conhecido por adicionar isso a um loop de longa duração:
if test -f /tmp/please-stop; then break; fi
Tags command-line bash process linux shell