Su Windows, come posso chiedere con grazia a un programma in esecuzione di terminare?


17

Su Unix o Linux, è facile chiedere con grazia a un'applicazione in esecuzione di terminare: si invia il segnale SIGTERM. Se il suo ID processo è 1234, puoi semplicemente eseguire kill 1234o kill -s TERM 1234o kill -15 1234.

Come posso fare la stessa cosa in Windows?

Se ricordo bene, la funzione "End Task" di Task Manager (non la sua funzione "End Process") faceva quello che volevo. Ma, a partire da Windows 8.1, non è più così gentile; quando uso la funzione, mi fa perdere dati non salvati.

Non voglio scrivere alcun codice per fare questo. Se lo facessi, lo chiederei su Stack Overflow. :)


2
Se sei uno sviluppatore di software e vuoi farlo a livello di codice, vedi la relativa domanda StackTranslate.it su come chiedere con grazia a un processo di terminare .
indimenticabileidSupportsMonica

4
Non c'è niente di grazioso in Windows ........
Moab,

Risposte:


17

Taskkill.exe

Andy E scrive che puoi usare taskkill.exe.

Per terminare il processo con ID processo 1234:

taskkill /pid 1234

Per terminare notepad.exe:

taskkill /im notepad.exe

Per ulteriore aiuto:

taskkill /?

Aggiunge:

Lo /fswitch forzerebbe l'uccisione, ma non utilizzandolo invia semplicemente il segnale di terminazione in modo che l'applicazione si chiuda con grazia.

Ha ragione. Ho provato a utilizzare taskkill.exe (senza /f) per chiudere Blocco note e ha funzionato come previsto. Il Blocco note mi ha chiesto se volevo o meno salvare il testo non salvato che avevo inserito.

Sto usando la versione home di Windows 8.1. Sembra che taskkill.exesia incluso in Windows senza costi aggiuntivi. È dentro c:\windows\system32.

O semplicemente disconnettiti

Se non si desidera preoccuparsi di nulla di tutto ciò, è sufficiente disconnettersi dal proprio account utente di Windows, quindi accedere nuovamente.

Applicazioni console

Per quanto riguarda le applicazioni console (ad es. PowerShell), Chris Becke aggiunge :

Non esiste un modo reale per chiudere le applicazioni della console con grazia su Windows. Devono sostenere una sorta di meccanismo aggraziato vicino.


Si noti che ciò non replica esattamente ciò che accade al logout o allo spegnimento; per questo, vedi stackoverflow.com/questions/520910/…
Matt McHenry,

5

È possibile utilizzare rmlogotest.exe(lo strumento di test del logo Restart Manager). Questa utility freeware, scritta da Microsoft, fa parte del Kit di certificazione app di Windows.

Per ottenere la versione più recente del Kit di certificazione app di Windows, scaricare ed eseguire il programma di installazione di Windows SDK. (Puoi trovare il programma di installazione di Windows SDK più recente eseguendo una ricerca su Google.) Deseleziona tutte le caselle tranne la casella Kit di certificazione app di Windows. Attendere il download e l'installazione del kit. Se ricordo bene, il kit è di duecento megabyte.

rmlogotest.exeprobabilmente ci sarà C:\Program Files (x86)\Windows Kits\10\App Certification Kitse stai usando la versione 10 di Windows SDK.

Apri un prompt dei comandi. Passare alla directory corretta. Immettere rmlogotestquindi uno spazio, quindi il numero ID del processo.

Se il processo è "Riavvia Manager Manager", rmlogotestlo riavvierà con grazia e ti dirà "Logo Validation Passed". Altrimenti, rmlogotestti chiederà di terminare con grazia, quindi potrebbe dirti "Convalida del logo non riuscita".

Ho provato a utilizzare rmlogotest.exeper terminare Blocco note e ha funzionato come previsto. Il Blocco note mi ha chiesto se volevo o meno salvare il testo non salvato che avevo inserito.

(Nel caso ti chiedi cosa sia Restart Manager e cosa faccia, lasciami spiegare. Restart Manager è parte di Windows ed è utilizzato da Windows Installer 4.0 e versioni successive. Quando Windows Installer deve sovrascrivere o eliminare un file aperto, utilizza un processo di passaggio. Indica a Restart Manager di terminare con grazia il processo che sta utilizzando il file. Sovrascrive il file. Quindi dice a Restart Manager di riavviare il processo.)


0

GnuWIN32 ha le porte di Windows dei programmi di utilità comuni di Linux compreso kill.exe

http://gnuwin32.sourceforge.net/

Supporta i seguenti segnali per nome o un numero

λ kill -l                                                                                                                                                                                                                                                                
INT                                                                                                                                                                                                                                                                      
ILL                                                                                                                                                                                                                                                                      
FPE                                                                                                                                                                                                                                                                      
KILL                                                                                                                                                                                                                                                                     
SEGV                                                                                                                                                                                                                                                                     
TERM                                                                                                                                                                                                                                                                     
CHLD                                                                                                                                                                                                                                                                     
ABRT             
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.