Gibt es eine Möglichkeit, Linux-Prozesse mit Python zu starten / stoppen?

7

Ich möchte in der Lage sein, einen Prozess zu starten und ihn anschließend zu töten

    
tehryan 04.09.2009, 12:38
quelle

6 Antworten

8

Sehen Sie sich das subprocess -Modul an. Sie können auch Low-Level-Primitive wie fork() über das os -Modul verwenden.

    
Bastien Léonard 04.09.2009, 12:40
quelle
13

Hier ist ein kleines Python-Skript, das einen Prozess startet, prüft, ob es läuft, wartet eine Weile, tötet es, wartet darauf, dass es beendet wird, und prüft es erneut. Es verwendet den Befehl 'kill'. Version 2.6 des Python-Subprozesses hat eine Kill-Funktion. Dies wurde am 2.5 geschrieben.

%Vor%

Die zeitgesteuerte Ausgabe zeigt an, dass sie nach ungefähr 3 Sekunden beendet wurde, und nicht 60, wie der Schlafanruf andeutet.

%Vor%     
FeatureCreep 06.09.2009 15:43
quelle
3
DigitalRoss 04.09.2009 12:42
quelle
3

Eine einfache Funktion, die das Unterprozessmodul verwendet:

%Vor%     
Botond Béres 04.09.2009 13:07
quelle
0

Siehe Dokumentation für primitive fork () und Module Unterprozess , Mehrfachverarbeitung , Multithreading

    
DrFalk3n 04.09.2009 16:33
quelle
0

Wenn Sie überhaupt mit dem Subprozess interagieren müssen, empfehle ich das Pexpect-Modul ( Linktext ) . Sie können eine Eingabe an den Prozess senden, im Gegenzug eine Ausgabe empfangen (oder "erwarten"), und Sie können den Prozess schließen (mit force = True, um SIGKILL zu senden).

    
dcrosta 04.09.2009 18:25
quelle

Tags und Links