Ist es möglich, eine lange Verarbeitungsaufgabe (z. B. einen dreitägigen Rechenauftrag python.exe myscript.py
) mit Windows 7 einzufrieren / anzuhalten ?
Oder allgemeiner ist es möglich, einen Windows-Prozess anzuhalten?
(Im Falle von Python könnte ich natürlich das atexit
Modul verwenden, den Status beim Beenden speichern, dann den Prozess beenden und später fortsetzen, aber das wäre hier nicht Thema - ich suche nach einer "allgemeineren" Lösung.)
Anwendungsfälle:
Sie starten eine lange Verarbeitungsaufgabe mit 25% oder 50% oder 100% der CPU, möchten den Computer dann jedoch einige Stunden lang normal verwenden
Sie haben einige Stunden lang Laptop-Akku und möchten den Computer normal verwenden, ohne den Akku aufgrund der CPU-intensiven Aufgabe zu schnell zu verbrauchen: Frieren Sie ihn ein!
Hinweis: Das Verringern der Prozesspriorität in Task Manager
würde das Problem nicht lösen: Wenn der Rest des Computers im Leerlauf ist, würde der rechenintensive Prozess immer noch auf 25, 50 oder 100% der CPU gehen und ist daher ungelöst
pssuspend \\workstation64 python
wenn es 2 oder 3 verschiedene Prozesse / Instanzen desselben gibtpython.exe
? Auch gäbe es eineTaskManager++
Software, ähnlich dem Standard-Task-Manager, aber das würde dies in einer netten GUI beinhalten, welche eine Play / Pause-Taste?start
Sie diese Option, um Ihre Python-Prozesse auszuführen und ihnen einen eindeutigen Namen zu geben. Dann mit Namen aussetzen.start
ich einen benutzerdefinierten Namen vergeben? Würde es auch diese Frage lösen (die aktuelle Lösung ist nicht wirklich gut) stackoverflow.com/questions/38420116/… ?Antworten:
In der Ressourcenüberwachung (
PERFMON.EXE /res
oder unter Start> Alle Programme> Zubehör> Systemprogramme> Ressourcenüberwachung ) können Sie mit der rechten Maustaste auf einen beliebigen Prozess klicken und ihn anhalten (und später fortsetzen). Sie können Ihren Prozess leicht an der CPU-Auslastung erkennen.Es wird eine Warnung angezeigt, dass dies zu einem Absturz Ihres Systems führen könnte, Sie können es jedoch für Nicht-Systemprozesse ignorieren (aber natürlich nicht die erforderlichen Systemprozesse aussetzen!).
Der Ressourcenmonitor ist Teil von Standard-Windows (es muss nichts heruntergeladen oder installiert werden). Dies funktioniert auf jeden Fall unter Windows 7 und Windows 10. Ich würde die meisten anderen Versionen auch denken, aber ich kann es nicht verifizieren.
quelle
Neben @ Aganju Antwort, hier ist , wie es starten von CTRL+ ALT+ SHIFT ESCAPEmit AutoHotkey:
(Ähnlich wie bei CTRL+, bei SHIFT ESCAPEdem es sich um den regulären Task-Manager handelt.)
quelle
Ich habe eine noch einfachere Lösung gefunden:
Wenn der
python.exe
Prozess in einem Windows-cmd.exe
Fenster ausgeführt wird und alle paar Sekunden Text gedruckt wird (Protokollierung), können Sie einfach auf eine beliebige Stelle in diesem Fenster klicken und die Maus ziehen. Dadurch wird eine Auswahl sichtbar.Wenn eine Auswahl getroffen wird, wird der Prozess angehalten (Sie können im Task-Manager überprüfen, ob der Prozess auf CPU 0% abfällt). Um fortzufahren, drücken Sie einfach Enter!
Sehr einfache Möglichkeit, einen Python-Prozess anzuhalten :)
PS: diese Art von Auswahl zu ermöglichen , in
cmd.exe
, was Sie tun müssen ALT SPACE, Eigenschaften , aktivieren Schnell bearbeiten .quelle