Prozess wieder beenden ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Prozess wieder beenden ?

Beitragvon snakeseven » Samstag 7. Januar 2006, 15:57

Hallo,
mein Prozesshandler soll mit os.popen() einen zweiten Prozess (Script) starten. Macht er auch. Wenn der Prozess sich aufhängt (selten, aber passiert schon mal), dann soll der Prozess beendet und wieder neu gestartet werden. Also Starten geht, aber wie beende ich den Prozess wieder ?

Code: Alles auswählen

import os
pz = os.popen('pfad')   
pz.close()


funktioniert leider nicht.

Wie kann ich ausserdem os.popen dazu bewegen, mehrere Prozesse zu starten ?

Code: Alles auswählen

pz1 = os.popen('pfad1')
pz2 = os.popen('pfad2')
pz3 = os.popen('pfad3')


funktioniert nur linear. Also pz2 wird erst gestartet, wenn pz1 terminiert ist, usw. Seven

Zusatz:
Ich erweitere die Frage auf 'subprocess'. Damit kann ich mehrere .exe's parallel starten, aber wie wieder beenden ?
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Beitragvon snakeseven » Samstag 7. Januar 2006, 18:22

Gegoogelt und gefunden:

Code: Alles auswählen

import time,subprocess,win32api

def kill(pid):
    handle = win32api.OpenProcess(1, 0, pid)
    return (0 != win32api.TerminateProcess(handle, 0))

def init_process():
    #startet programm.exe und beendet es wieder nach 5 Sekunden
    pz1 = subprocess.Popen('programm.exe')
    time.sleep(5)
    kill(pz1.pid)

init_process()
dirty sanchez
User
Beiträge: 42
Registriert: Freitag 27. Juni 2008, 12:21

Beitragvon dirty sanchez » Donnerstag 17. Juli 2008, 10:51

Wenn ich jetzt aber vom MPlayer MPUI.exe starte und wieder mit kill(process.pid) beende, läuft der MPlayer Prozess weiter da nur der MPui Prozess beendet wird. Gibts eine möglichkeit die Prozesse, die mein gestarteter Prozess mitaufgerufen hat, mitzukillen wenn ich meinen Prozess beende?

Wer ist online?

Mitglieder in diesem Forum: DB7WN, pixewakb