Nel monitor di sistema, qual è la differenza tra Kill Process e End Process?


14

Quando voglio terminare un processo tramite System Monitor, mi vengono presentati 2 modi rapidi, Kill Process e End Process. Qual è la differenza tra questi due?

Risposte:


9

Secondo il manuale di System Monitor, dovresti normalmente usare "Termina processo", e solo se ciò fallisce usa "Kill Process":

Di solito si termina un processo solo se non è possibile terminare il processo normalmente come descritto in Per terminare un processo.

A livello tecnico questo mi fa pensare che End Process invii un SIGQUIT, che consenta al processo di intercettare ed eseguire la pulizia se necessario, ma se ciò fallisce, Kill Process dovrebbe inviare un SIGKILL che dovrebbe terminare violentemente il processo, senza possibilità di recupero. Usa con parsimonia!


6
SIGTERM è il modo "educato" di chiudere un programma, che è ciò che invia "End Process". gnu.org/software/libc/manual/html_node/Termination-Signals.html
Rick

8

Ero anche curioso, quindi ho appena sfogliato il codice sorgente e ho trovato il seguito in application.cpp . C'è di più in questo codice, ma penso che siano correlate alle opzioni, almeno per System Monitor da 3.8.2.1 a 3.19.3:

  • Stop Process = SIGSTOP ( segnale di pausa , proseguiamo in seguito con SIGCONT, non interrompe il processo)
  • Termina processo = SIGTERM ( segnale di terminazione , nel modo giusto, l'applicazione può intercettare questo segnale e avviare attività di spegnimento come la pulizia del file temporaneo)
  • Processo di uccisione = SIGKILL ( segnale di interruzione, estremo, utilizza solo se SIGTERM non funziona, non avvia attività di spegnimento)

Vedi questa domanda su Quora sui segnali SIGINT, SIGTERM, SIGKILL e SIGSTOP per una buona spiegazione di tutti i segnali di kill / quit / shutdown e delle loro differenze.

Evidenziazione del codice sorgente

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.