A tecla Ctrl-C (SIGINT) impede que a saída seja mostrada, mesmo se houver processos tentando produzi-la

1

Eu tive um script que fez a coisa errada. Então eu pressionei Ctrl-C para pará-lo.

Agora é a saída que vejo atualmente no meu terminal, toda a saída produzida pelos processos que foram executados. O Ctrl-C também impede que a saída seja impressa, embora o processo que queria produzir algo tenha executado / concluído o que estava fazendo.

Então, eu faço:

for i in *; do rm -vf $i; done

Agora posso ter certeza de que todas as mensagens de removed 'file' na minha tela são aquelas removidas e nada mais foi removido?

Talvez informações relevantes: trabalhei em uma sessão de tela sobre o ssh.

    
por Hielke Walinga 25.07.2018 / 15:15

1 resposta

1

Essencialmente sim .

Depois que o processo do shell captura sua Ctrl-C interrupção, ele a interrompe.

No entanto, existem ressalvas, como em um loop for , pode haver um cmd executado em segundo plano.

Além disso, há alguns cmds que rodam tão rapidamente que você não obtém uma resposta rápida do shell ( especialmente através de uma conexão remota!) que tem ou < em> quando ele realmente recebeu sua "interrupção" usando Ctrl-C.

    
por 25.07.2018 / 17:42