Quali vantaggi ha l'Ending Task rispetto al Ending Process?


9

Da quello che so, ogni volta che vogliamo fermare un'app (o un'app bloccata), andremo a TaskManager, selezioneremo l'app Go to Processe termineremo il processo. "Termina processo" è preferito su "Termina attività" (a volte "terminare attività" non funziona comunque).

Immagine per End Task:

inserisci qui la descrizione dell'immagine

Immagine per End Process:

inserisci qui la descrizione dell'immagine

Tuttavia, http://technet.microsoft.com/en-us/library/bb726964.aspx :

Quando si esaminano i processi, si noti che sebbene le applicazioni abbiano un processo principale, una singola applicazione può avviare più processi. In genere, questi processi dipendono dal processo dell'applicazione principale e vengono arrestati quando si termina il processo dell'applicazione principale o si utilizza End Task. Per questo motivo, di solito vorrai terminare il processo dell'applicazione principale o l'applicazione stessa anziché i processi dipendenti.

Stanno dicendo che si preferisce "Termina attività" perché il processo viene interrotto quando interrompo l'app. Ma non capisco affatto la loro logica, perché non semplicemente interrompere il processo invece?

Quali vantaggi Ending Taskha rispetto Ending Process?

Risposte:


13

Per i programmi che hanno almeno una finestra, Termina fa lo stesso che fare clic sul pulsante X"Chiudi" - invia il WM_CLOSEmessaggio a quella finestra, chiedendogli di chiudere. (Per le finestre della console, l'equivalente è CTRL_CLOSE_EVENT.) Il programma può richiedere all'utente di salvare le modifiche o eseguire varie attività di pulizia. Se il processo è conforme, Task Manager attende alcuni secondi e continua a terminare il processo se è ancora in esecuzione.

Se il processo è bloccato o non gestisce i messaggi della finestra che riceve, allora, naturalmente, né Termina attività né il pulsante Chiudi possono funzionare. In questi casi, di solito Windows ti chiederà di terminare il programma con forza, ma solo dopo aver concesso al programma il tempo sufficiente per rispondere.

Nel frattempo, il pulsante Termina processo non si occupa di attività o finestre: chiama la TerminateProcess()funzione e Windows distrugge immediatamente il processo, senza avvisarlo o dargli alcuna possibilità di ripulire.

(Risorse come la memoria vengono rilasciate automaticamente una volta terminato il processo; tuttavia, potrebbero rimanere vari file temporanei se il programma li ha creati e, naturalmente, c'è il rischio di corruzione dei dati se il processo viene interrotto durante il salvataggio dei dati.)

Guarda anche:


2
Ed è per questo che End Task non funziona per i programmi bloccati, giusto?
Daniel Beck

2

Le altre due risposte fanno un ottimo lavoro nel spiegare quale sia la differenza in termini di ciò che accade, ma solo per mettere in prospettiva le differenze in termini di come accade, il primo dice al programma di chiudere mentre il secondo dice a Windows di uccidere il programma.

Come analogia, è come la differenza tra chiedere a qualcuno di raccogliere le proprie cose e lasciare la stanza e dire a un buttafuori di spingerle immediatamente e con la forza.


1

Per elaborare: End Task proverà a chiudere l'app con garbo. Se è bloccato, ti darà quindi la possibilità di "terminare ora". Ciò offre due vantaggi rispetto all'uccisione del processo (che solo la forza bruta lo cancella):

  1. consente il ripristino di emergenza per le app registrate con Windows Vista (e versioni successive) Breve descrizione MSDN
  2. consente di inviare un rapporto errori

-7

È solo una mancanza di rispetto nella terminologia. Probabilmente l'helpdesk di Microsoft sulla costa occidentale dice attività, mentre la costa orientale utilizza un processo tecnicamente corretto.

Tecnicamente termina ancora il processo. L'attività è probabilmente un wrapper di processo che mostra una finestra? L'aiuto di Task Manager non definisce neanche.


3
Il termine " compito " è corretto; ha un significato diverso da "processo".
user1686
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.