Estou usando um Mac e uso o Macvim para programação. Se meu programa entrar em um loop infinito e eu tiver que sair do Macvim e reiniciá-lo devido a isso, o programa será reiniciado, mas o processo do programa continuará em execução. Eu percebi isso quando eu abri meu monitor de atividade e ver "programa foo" ainda está sendo executado em cerca de 99% de uso da CPU! Eu posso facilmente desligar o processo do monitor de atividade, mas existe uma maneira de evitar isso? Agradecemos antecipadamente por qualquer sugestão. Teste é o arquivo no qual o loop entrou. Eu criei para mostrar um exemplo.
activity-monitor
macvim
Gmenfan83
fonte
fonte
Respostas:
MacVim forks (gera um novo processo) para iniciar processos externos, mas aguarda que o processo externo retorne antes de retomar a execução. Assim, matar o MacVim simplesmente desconecta o processo filho (seu programa) do MacVim e o anexa ao processo principal executado, em essência, o OS X como um todo.
Você tem que sair, ou Force Quit, seu programa explicitamente para matá-lo.
Também é muito provável que, se você matar seu programa, e NÃO MacVim, possa continuar usando o MacVim sem problemas.
fonte
control c
não funcionar, você pode selecionar e matar seu aplicativo através do Activity Monitor primeiro e, em seguida, o MacVim deve começar a funcionar novamente.ps auxr | grep test | head -1 | awk {'print$2'} | xargs -t kill -9
onde teste é o nome do seu aplicativo. Não há necessidade de Activity Monitor.killall -s KILL test
onde test é o nome da sua aplicação.