Wie kann ich unter Windows ein laufendes Programm gebeten haben, das Programm zu beenden?

16078
unforgettableid

Unter Unix oder Linux kann eine laufende Anwendung problemlos gebeten werden, sie zu beenden: Sie senden das SIGTERM-Signal. Wenn die Prozess-ID 1234 lautet, können Sie einfach kill 1234oder kill -s TERM 1234oder ausführen kill -15 1234.

Wie kann ich dasselbe in Windows machen?

Wenn ich mich richtig erinnere, hat die Task-Manager-Funktion "Task beenden" (nicht die Funktion "Prozess beenden") das gemacht, was ich will. Aber seit Windows 8.1 ist es nicht mehr so ​​sanft. Wenn ich die Funktion verwende, gehen nicht gespeicherte Daten verloren.

Ich möchte dazu keinen Code schreiben. Wenn ja, würde ich nach Stack Overflow fragen. :)

12
Wenn Sie Softwareentwickler sind und dies programmgesteuert durchführen möchten, finden Sie weitere Informationen dazu in der entsprechenden Stack Overflow-Frage, wie ein Prozess gebeten werden kann, ordnungsgemäß zu beenden. (Http://stackoverflow.com/questions/2055753/how-to- anmutig-terminate-a-process). unforgettableid vor 9 Jahren 1
Es gibt nichts Anmutiges an Windows ........ Moab vor 9 Jahren 4

2 Antworten auf die Frage

14
unforgettableid

taskkill.exe

Andy E schreibt, dass Sie verwenden können taskkill.exe.

So beenden Sie den Prozess mit der Prozess-ID 1234:

taskkill /pid 1234 

So beenden Sie notepad.exe:

taskkill /im notepad.exe 

Für weitere Hilfe:

taskkill /? 

Er addiert:

Der /fSwitch würde den Abbruch erzwingen, aber wenn er nicht verwendet wird, wird nur das Beendigungssignal gesendet, sodass die Anwendung ordnungsgemäß geschlossen wird.

Er hat recht. Ich habe versucht, taskkill.exe (ohne /f) zu verwenden, um Notepad zu beenden, und es funktionierte wie erwartet. Der Editor hat mich gefragt, ob ich den ungespeicherten Text, den ich eingegeben hatte, speichern wollte.

Ich verwende die Home-Version von Windows 8.1. Es sieht so aus, taskkill.exeals wäre es mit Windows im Lieferumfang enthalten. Es ist in c:\windows\system32.

Oder einfach abmelden

Wenn Sie sich nicht damit beschäftigen möchten, melden Sie sich einfach von Ihrem Windows-Benutzerkonto ab und dann erneut an.

Konsolenanwendungen

In Bezug auf Konsolenanwendungen (z. B. PowerShell) fügt Chris Becke hinzu :

Es gibt keine echte Möglichkeit, Konsolenanwendungen unter Windows ordnungsgemäß zu schließen. Sie müssen eine Art anmutiger Schließmechanismus unterstützen.

Beachten Sie, dass dies nicht genau repliziert, was beim Abmelden oder Herunterfahren geschieht. Weitere Informationen hierzu finden Sie unter http://stackoverflow.com/questions/520910/how-to-simulate-windows-shutdown-for-debugging Matt McHenry vor 8 Jahren 0
3
unforgettableid

Sie können rmlogotest.exe(das Restart Manager Logo Test Tool) verwenden. Dieses Freeware-Programm von Microsoft ist Teil des Windows App Certification Kit.

Laden Sie das Windows SDK-Installationsprogramm herunter und führen Sie es aus, um die neueste Version des Windows App Certification Kit zu erhalten. (Sie finden das neueste Windows SDK-Installationsprogramm durch eine Google-Suche.) Deaktivieren Sie alle Kontrollkästchen außer dem Kontrollkästchen für das Windows-App-Zertifizierungskit. Warten Sie, bis das Kit heruntergeladen und installiert ist. Wenn ich mich recht erinnere, hat das Kit ein paar hundert Megabyte.

rmlogotest.exeC:\Program Files (x86)\Windows Kits\10\App Certification KitWenn Sie Version 10 des Windows SDK verwenden, ist dies wahrscheinlich der Fall .

Öffnen Sie eine Eingabeaufforderung. Wechseln Sie in das richtige Verzeichnis. Geben Sie rmlogotestdann ein Leerzeichen und dann die Prozess-ID des Prozesses ein.

Wenn der Prozess "Restart Manager aware" ist, rmlogotestwird er ordnungsgemäß neu gestartet und sagt Ihnen, "Logo Validation Passed". Andernfalls rmlogotestwird er gebeten, das System ordnungsgemäß zu beenden, dann wird möglicherweise "Logo Validation Failed" angezeigt.

Ich habe versucht rmlogotest.exe, Notepad zu beenden, und es funktionierte wie erwartet. Der Editor hat mich gefragt, ob ich den ungespeicherten Text, den ich eingegeben hatte, speichern wollte.

(Wenn Sie sich fragen, was der Neustart-Manager ist und was er tut, lassen Sie mich das erklären.) Neustart-Manager ist Teil von Windows und wird von Windows Installer 4.0 und höher verwendet. Wenn Windows Installer eine geöffnete Datei überschreiben oder löschen muss, verwendet es drei Schritt Prozess. Er weist den Neustart-Manager an, den Prozess, der die Datei verwendet, ordnungsgemäß zu beenden. Er überschreibt die Datei. Dann wird der Neustart-Manager angewiesen, den Prozess erneut zu starten.