Unter Unix oder Linux ist es einfach, eine laufende Anwendung ordnungsgemäß zum Beenden aufzufordern: Sie senden ihr das SIGTERM-Signal. Wenn die Prozess-ID 1234 lautet, können Sie einfach kill 1234
oder kill -s TERM 1234
oder ausführen kill -15 1234
.
Wie kann ich dasselbe in Windows tun?
Wenn ich mich richtig erinnere, wird die Funktion "Task beenden" des Task-Managers (nicht die Funktion "Prozess beenden") verwendet, um das zu tun, was ich möchte. Aber ab 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 ich das täte, würde ich nach Stack Overflow fragen. :)
Antworten:
taskkill.exe
Andy E schreibt, dass Sie verwenden können
taskkill.exe
.So beenden Sie den Prozess mit der Prozess-ID 1234:
So beenden Sie notepad.exe:
Für mehr Hilfe:
Er addiert:
Er hat recht. Ich habe versucht, mit taskkill.exe (ohne
/f
) Notepad zu beenden, und es hat wie erwartet funktioniert. Notepad fragte mich, ob ich den nicht gespeicherten Text, den ich eingegeben hatte, speichern wollte oder nicht.Ich verwende die Heimversion von Windows 8.1. Es sieht so aus, als ob
taskkill.exe
Windows ohne Aufpreis mitgeliefert wurde. Es ist inc:\windows\system32
.Oder melde dich einfach ab
Wenn Sie sich darum nicht kümmern möchten, melden Sie sich einfach von Ihrem Windows-Benutzerkonto ab und melden Sie sich dann erneut an.
Konsolenanwendungen
In Bezug auf Konsolenanwendungen (z. B. PowerShell) fügt Chris Becke hinzu :
quelle
Sie können
rmlogotest.exe
(das Restart Manager Logo Test Tool) verwenden. Dieses von Microsoft entwickelte Freeware-Dienstprogramm 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 können das neueste Windows SDK-Installationsprogramm über eine Google-Suche finden.) Deaktivieren Sie alle Kontrollkästchen mit Ausnahme des Kontrollkästchens Windows App Certification Kit. Warten Sie, bis das Kit heruntergeladen und installiert wurde. Wenn ich mich richtig erinnere, ist das Kit ein paar hundert Megabyte.
rmlogotest.exe
wird wahrscheinlich in sein,C:\Program Files (x86)\Windows Kits\10\App Certification Kit
wenn Sie Version 10 des Windows SDK verwenden.Öffnen Sie eine Eingabeaufforderung. Wechseln Sie in das richtige Verzeichnis. Geben Sie
rmlogotest
dann ein Leerzeichen und dann die Prozess-ID des Prozesses ein.Wenn der Prozess "Restart Manager aware" ist,
rmlogotest
wird er ordnungsgemäß neu gestartet und "Logo Validation Passed" angezeigt. Andernfallsrmlogotest
wird es gebeten, ordnungsgemäß zu kündigen. Anschließend wird möglicherweise die Meldung "Logo-Validierung fehlgeschlagen" angezeigt.Ich habe versucht
rmlogotest.exe
, Notepad mit zu beenden, und es hat wie erwartet funktioniert. Notepad fragte mich, ob ich den nicht gespeicherten Text, den ich eingegeben hatte, speichern wollte oder nicht.(Für den Fall, dass Sie sich fragen, was Restart Manager ist und tut, lassen Sie es mich erklären. Restart 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, wird ein dreifacher Befehl verwendet. Schritt Prozess. Er weist Restart Manager an, den Prozess, der die Datei verwendet, ordnungsgemäß zu beenden. Er überschreibt die Datei. Dann weist er Restart Manager an, den Prozess erneut zu starten.)
quelle
GnuWIN32 verfügt über Windows-Ports gängiger Linux-Utils, einschließlich kill.exe
http://gnuwin32.sourceforge.net/
Es unterstützt die folgenden Signale mit Namen oder einer Nummer
quelle