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?
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:
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!
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:
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.