Como faço para parar um script bash a partir da linha de comando?

3

Eu tenho um script bash que uso para executar o XCode no OSX, que leva vários minutos. Eu não consigo encontrar o comando-chave para pará-lo se eu perceber um erro ... no DOS eu estou acostumado a CTRL + C / CTRL + Z, mas nem parece funcionar. O que estou procurando (no terminal OS X padrão)?

    
por Mr. Boy 30.09.2012 / 21:11

3 respostas

2

Existem alguns pressionamentos de teclas que devem ajudá-lo aqui.

Ctrl-C deve enviar o processo em primeiro plano, SIGINT, e isso deve terminar o processo, a menos que você capture o sinal com algo como trap INT ... em seu código shell.

Ctrl-Z deve enviar SIGSTOP, o que pausaria seu processo novamente, a menos que você prenda seus sinais.

O mapeamento de sequências de teclas salta através de alguns aros, incluindo configurações de terminal. O que stty -a diz no seu computador? Olhe na saída para intr , essa é a tecla que deve acionar o SIGINT. Se nada estiver definido, você precisa configurá-lo, algo como stty intr ^C

Como outros já disseram, você pode matar o processo de outra janela também.

    
por 01.10.2012 / 20:31
1

Você pode tentar estas soluções:

  • experimente esta combinação de teclas: ctrl + altgr + 8
  • abra um novo terminal e execute pkill -f script_name
por 30.09.2012 / 21:32
0

Se ctrl + C não estiver funcionando para você, você pode abrir uma nova guia Terminal e digitar

killall [process name]

onde [process name] é o nome do seu script bash (você pode encontrar isso no Activity Monitor do OS X).

    
por 01.10.2012 / 20:19

Tags