
Eu tenho um script bash que uso para executar o XCode no OS X, o que leva vários minutos. Não consigo encontrar o comando chave para pará-lo se eu perceber um erro... no DOS estou acostumado Ctrl+C/ Ctrl+Zmas nenhum dos dois parece funcionar. O que estou procurando (no terminal OS X padrão)?
Responder1
Existem alguns pressionamentos de tecla que devem ajudá-lo aqui.
Ctrl+ Cdeve enviar o processo em primeiro plano SIGINT, e isso deve encerrar o processo, a menos que você capture o sinal com algo como trap INT ...
em seu código shell.
Ctrl+ Zdeve enviar SIGSTOP, o que pausaria seu processo novamente, a menos que você capture seus sinais.
O mapeamento de sequências de teclas passa por alguns obstáculos, incluindo configurações de terminal. O que stty -a
diz no seu computador? Procure na saída intr
, esse é o pressionamento de tecla que deve acionar o SIGINT. Se nada estiver definido, você precisará configurá-lo, algo comostty intr ^C
Como já foi dito, você também pode encerrar o processo em outra janela.
Responder2
Se Ctrl+ Cnão estiver funcionando para você, você pode abrir uma nova guia Terminal e digitar
killall [process name]
onde [process name]
está o nome do seu script bash (você pode encontrá-lo no Activity Monitor do OS X).
Responder3
Você pode tentar estas soluções:
- experimente esta combinação de teclado: Ctrl+ AltGr+8
- abra um novo terminal e execute
pkill -f script_name
Responder4
Para complementar o que outros usuários disseram, você também pode usar Ctrl+ \que envia SIGQUIT
e é o mesmo que, SIGINT
exceto que também produz um core dump. Descobri que programas que ignoram SIGINT
muitas vezes não ignoram SIGQUIT
.
Com base nopágina de manual para matar, você também pode enviar um SIGTERM
ou SIGKILL
para qualquer processo. Você faria isso encontrando seu processo na tabela de processos (type ps
) e depois digitando kill -15 [pid]
para enviar a SIGTERM
ou kill -9 [pid]
para enviar a SIGKILL
(SIGKILL não pode ser ignorado e encerrará o processo de qualquer maneira).