No monitor do sistema, qual é a diferença entre o processo Kill e o processo final?

11

Quando eu quero matar um processo através do System Monitor, eu sou apresentado com 2 maneiras rápidas, Kill Process e End Process. Qual é a diferença entre esses dois?

    
por Luis Alvarado 25.04.2012 / 03:57

2 respostas

7

De acordo com o manual do Monitor do Sistema, você normalmente deve usar "Finalizar processo" e, somente se isso falhar, use "Processo de eliminação":

  

Você geralmente encerra um processo apenas se não puder encerrar o processo   normalmente como descrito em Para finalizar um processo.

Em um nível técnico, isso me faz pensar que o End Process envia um SIGQUIT, que permite que o processo capture e execute a limpeza, se necessário, mas se isso falhar, o Kill Process deve enviar um SIGKILL que deve terminar o processo violentamente, sem chance de recuperação. Use com moderação!

    
por roadmr 25.04.2012 / 05:23
6

Eu estava curioso também, então eu apenas naveguei pelo código-fonte e encontrei o seguinte em application.cpp . Há mais sobre este código, mas acho que eles se correlacionam com as opções, pelo menos para o System Monitor 3.8.2.1 a 3.19.3:

  • Parar processo = SIGSTOP ( sinal de pausa , você continuará depois, não mata processo)
  • Finalizar processo = SIGTERM ( sinal de terminação , o caminho certo, o aplicativo pode interceptar este sinal e iniciar tarefas de desligamento, como limpeza de arquivos temporários)
  • Kill Process = SIGKILL ( kill signal , extremo, use somente se o SIGTERM não funcionar, não iniciará tarefas de desligamento)

Veja esta pergunta no Quora sobre o SIGINT , SIGTERM, SIGKILL e SIGSTOP sinalizam para uma boa explicação sobre todos os sinais kill / quit / shutdown e suas diferenças.

    
por Elijah Lynn 04.01.2016 / 16:43