В системном мониторе какая разница между процессом Kill и End Process?

10

Когда я хочу убить процесс через системный монитор, мне предлагается 2 быстрых способа, процесс «Убить процесс» и «Завершить процесс». В чем разница между этими двумя?

    
задан Luis Alvarado 25.04.2012 в 01:57
источник

2 ответа

7

В руководстве по системному монитору обычно следует использовать «Окончательный процесс», и только если это не работает, используйте «Kill Process»:

  

Обычно вы завершаете процесс только в том случае, если вы не можете завершить процесс   как описано в разделе «Завершение процесса».

На техническом уровне это заставляет меня думать, что End Process отправляет SIGQUIT, что позволяет процессу ловить и выполнять очистку, если это необходимо, но если это не удается, Kill Process должен отправить SIGKILL, который должен яростно прекратить процесс, восстановления. Используйте экономно!

    
ответ дан roadmr 25.04.2012 в 03:23
источник
6

Мне тоже было любопытно, поэтому я просто просмотрел исходный код и нашел ниже в application.cpp . В этом коде есть больше, но я думаю, что они коррелируют с параметрами, по крайней мере для System Monitor 3.8.2.1 - 3.19.3:

  • Stop Process = SIGSTOP ( сигнал паузы , давайте продолжим позже, не уничтожим процесс)
  • Конечный процесс = SIGTERM ( сигнал завершения , правильный способ, приложение может перехватить этот сигнал и выполнить задачи завершения работы, такие как очистка файла temp)
  • Kill Process = SIGKILL ( kill signal , экстремальный, использовать только в том случае, если SIGTERM не работает, не будет задавать задачи завершения работы)

См. этот вопрос о Quora о SIGINT , SIGTERM, SIGKILL и SIGSTOP для хорошего объяснения всех сигналов kill / quit / shutdown и их различий.

    

ответ дан Elijah Lynn 04.01.2016 в 15:43