Einen Prozess anhalten?

8

Gibt es eine Möglichkeit, einen Prozess anzuhalten (von einer ausführbaren Datei aus), so dass er die CPU-Last stoppt, während sie angehalten wird, und wartet, bis sie wieder mit ihrer Arbeit fortfährt? Möglicherweise in Python oder in irgendeiner Weise zugänglich durch Python.

    
Gabriele Cirulli 10.05.2010, 16:10
quelle

4 Antworten

10

Wenn Sie psutil verwenden ( Ссылка ):

%Vor%     
Giampaolo Rodolà 19.11.2010, 23:15
quelle
4

Sie denken an SIGTSTP - das gleiche Signal, das passiert, wenn Sie CTRL-Z drücken. Dies unterbricht den Prozess, bis er SIGCONT erreicht wird.

natürlich können einige Programme dieses Signal einfach abfangen und ignorieren, es hängt also von der ausführbaren Datei ab. Wenn Sie es jedoch manuell anhalten und fortsetzen können, können Sie dies auch mit einem Python-Programm tun. Verwende os.kill()

    
Igor Serebryany 10.05.2010 16:17
quelle
2

Ich habe das einfach mit Signalen in Python umgesetzt, etwa so:

%Vor%

Dies pausiert in der letzten Zeile und ruft do_something() auf, wenn es das Signal USR1 empfängt, zum Beispiel durch ein

%Vor%

Befehl.

Dies funktioniert jedoch nur in UNIX.

    
Bex 14.01.2014 09:09
quelle
0

Es gibt einen (fast) nativen Weg, dies in Python zu tun, und es ist ganz einfach:

%Vor%

In diesem Codeausschnitt ist 5 die Anzahl der Sekunden , an denen Sie Ihr Programm anhalten möchten.

    
Farid 28.06.2013 16:33
quelle

Tags und Links