• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

c - prozess starten und ggf. beenden

Hallo!

Folgendes Problem, ich muss hin und wieder aus meinem C-Programm andere Programme aufrufen. Leider hängen sich diese manchmal auf. Ich möchte das das Programm automatisch abgeschossen wird, wenn es sich nach 10 min immer noch nicht beendet hat. Unter Windows würde ich das mit einem zusätzlichen Thread lösen, aber wie mache ich sowas unter Linux? Oder gibt's noch eine andere Variante?
 
Klar, das geht auch mit Threads, wenn Du das willst. Ich persönlich würde mit Prozessen (fork, exec und wait) arbeiten.
Interessant wäre es aber, warum sich die anderen Programme aufhängen (ich denke, Du meinst, daß sie nicht mehr auf Eingaben etc. reagieren, denn wenn sie sich z.B. wegen einem segm. fault beenden, ist der Prozeß ja auch hinüber)? Ggf. könntest Du vor dem Aufruf die Parameter auf Korrektheit testen? Oder die anderen Programme robuster gestalten?
 
Nein, bedauerlicherweise kann ich die aufgerufenen Programme nicht ändern, würde sie aber gerne. Wie macht man das mit fork, exec und wait?
 
Am besten guckst du hier: http://www.mathematik.uni-ulm.de/sai/ss05/soft/.
Skript Teil 1 duerfte Dir reichen (sofern es noch so wie vor ein paar Jahren ist, als ich die Vorlesung gehoert habe ;-)).
Wenn es dazu noch Fragen gibt, kannst Dich ja noch einmal melden. Ein paar Uebungsaufgaben gibt es ja auch auf der Seite, da kannst Du Dich ja auch mal umschauen. Ein paar Anregungen zum Ausprobieren und Kennenlernen des Prinzips kriegst Du damit allemal.
 
Oben