Eu tenho um aplicativo que não morre: saiu da estação, mas a janela permanece (com uma bola de praia, se eu passar o mouse sobre ela). Não está usando CPU, mas quero que desapareça.
Existe algo mais forte do que "Force Quit" para realmente matar um aplicativo?
lion
macos
applications
Ken
fonte
fonte
SIGTERM
Respostas:
Se você souber o nome do aplicativo, poderá fazer o check-in no Activity Monitor para ver se ele ainda está em execução e tentar forçar o encerramento. Se isso não funcionar, anote o ID do processo do aplicativo (pid). Vá para o terminal e digite
kill [pid]
, substituindo "[pid]" pelo número que você anotou anteriormente. Se isso não funcionar, tentekill -3 [pid]
e se isso não funcionarkill -9 [pid]
. Se o processo é de propriedade de um usuário diferente (isto não é provável), você pode precisar de substituirkill
comsudo kill
e digite sua senha quando solicitado.Se o aplicativo não aparecer no Activity Monitor ou você não
kill
conseguir, a janela poderá ficar em outro lugar e o aplicativo simplesmente não estará mais em execução. Nesse caso, às vezes (nem sempre) ele pode funcionar parakillall SystemUIServer
oukillall Dock
.Se nada disso funcionar, você precisará fazer logoff e entrar novamente ou reiniciar. Nas poucas vezes em que cheguei a esse ponto, o aplicativo ficou tão travado que impediu o logout ou o desligamento, por isso tive que reiniciar com força.
fonte
sudo
, mesmo que o processo seja de minha propriedade), sem alterações. Afetarákillall SystemUIServer
qualquer um dos meus outros aplicativos abertos, como esquecer as posições da janela?kill -l
, -3 é SIGQUIT e -9 é SIGKILL ("matança não capturável e não ignorável").man kill
(que está entre os 10 melhores comandos UNIX de todos os tempos) para ver todos eles.A janela de saída forçada,,
killall
ekill
todos os processos enviam sinais TERM por padrão. Você pode usarkillall -kill
se isso não funcionar.Se você executar
sudo dtrace -n 'proc:::signal-send /pid/ { printf("%s -%d %d",execname,args[2],args[1]->pr_pid); }'
e sair de algum aplicativo a partir da janela de encerramento forçado, o sinal geralmente é mostrado como -15 (TERM). Mas quando você encerra um processo em segundo plano (ou um aplicativo que não é mostrado no Dock) do Activity Monitor, o sinal geralmente é mostrado como -9 (KILL).fonte
SIGKILL
funcionar, o aplicativo provavelmente está em suspensão ininterrupta e não há realmente nada que você possa fazer (exceto reiniciar).Eu tive situações em que o Force Quit, o Activity Monitor
kill
e outros métodos não funcionaram, e meu Mac não pôde desligar por causa disso.Nesse caso,
sudo shutdown -r now
funcionou quando nada mais funcionaria, e provavelmente é melhor do que fazer um desligamento forçado através do botão liga / desliga.fonte
Como nas respostas acima, a maneira mais forte de encerrar qualquer processo é
SIGKILL
, por exemplokill -9 process_id
.No entanto, existem processos que são simplesmente impossíveis de
Force Quit
nemkill
. Eles chamaram dezombie
processos.Aqui está um script curto que criará um
zombie
processo por dois minutos:Execute o script acima no Terminal e você obterá a saída, como a seguir:
Se você verificar a coluna de status quanto ao processo inábil (neste caso: 50571), verá o
Z
sinalizador, o que significazombie
.Você pode tentar enviar qualquer
kill
sinal (por exemplokill -9 50571
) e o processo ainda existe. De qualquer forma, não prejudica muito o seu sistema, porque na verdade não existe - apenas ocupa a tabela de processos.No exemplo acima, em 120 segundos, ele será limpo.
fonte
Isto é o que você deve fazer:
Um processo como esse é melhor removido em modo de segurança se você tentar desinstalar.
Cheers, Bryan
fonte