Auf eine prozess Warten

N

Nano

Foren As
Ich würde gerne auf einen prozess warten.

Kind x führt per exec eine kommandozeilenorientiers programm z.b shell aus und erhält vom vater befehle.
Woher weis ich wann der befehl in der shell "fertig" ist ?

bei befehlen die ausgaben produzieren ist das ja kein problem, zb. ls
hier könnte ich per select(pipe.... ) warten bis daten kommen
aber wie könnte man das z.b bei chmod realisieren ?

Probleme :
Die shell wird nicht beendet daher auch kein wait() möglich
select geht wiegesasgt nur bei befehlen die auch "antworten"
$? abfragen wenn überhaupt nur bei einer shell funktionieren.
ich möchte den befehl nicht ändern sprich keine debug oder verbose modis mitgeben.

Hat jemand eine idee wie / ob so etwas zu realisieren ist ?
 
Also soweit ich mich erinnere (hab jetz nicht die Zeit/Lust die Manpage nochmal zu lesen... ;-) ), legt exec* doch nur ein Prozessimage auf den breits existenten (in deinem Fall geforkten) Prozess, sprich die PID des Kindes bleibt gleich.
Falls ich damit richtig liege, düfte es doch kein Problem darstellen mit wait(pid) auf den Kindprozess zu warten...
 
der prozess wird nicht beendet daher geht wait nicht, es wird lediglich ein befehl auf dem prozess der mit exec gestartet ist ausgeführt
 

Ähnliche Themen

C: Umschalten bei ständig laufendem Cildprocess

Woran erkenne ich das ein befehl funktioniert hat

Server-Monitoring mit RRDTool

Zurück
Oben