Externen Prozess killen

15/03/2009 - 10:50 von Marcus Habermehl | Report spam
Hallo zusammen.

Ich habe hier ein Skript, das mit subprocess.Popen() einen externen
Befehl (lynx) ausführt.

Manchmal, wenn die Gegenstelle aber nicht zu erreichen ist hàngt dann
das Skript, bis ich lynx manuell kille.

Gibt es eine Möglichkeit das vom Skript aus automatisch zu machen?

Also zum Beispiel wenn lynx nach 1 Minute immer noch làuft die PID zu
killen?

Wie ich den Prozess aus dem Skript heraus killen kann weiß ich. Nur habe
ich keine Idee, wie ich die Zeit "stoppen" soll.

Mit time.sleep() würde ja erst mal alles still stehen. Und im subprocess
Modul habe ich nichts passendes gefunden.

Gruß
Marcus
 

Lesen sie die antworten

#1 Marek Kubica
15/03/2009 - 11:33 | Warnen spam
Servus,

On Sun, 15 Mar 2009 10:50:56 +0100
Marcus Habermehl wrote:

Gibt es eine Möglichkeit das vom Skript aus automatisch zu machen?



Ja.

Also zum Beispiel wenn lynx nach 1 Minute immer noch làuft die PID zu
killen?



os.kill() oder aber, was mir im Zusammenhang mit subprocess ratsamer
erscheint, Popen.terminate()

Mit time.sleep() würde ja erst mal alles still stehen.


Es steht immer nur der aktuelle Thread still, somit kannst du das
problemlos so verwenden.

grüße,
Marek

Ähnliche fragen