waitpid() auf einen Process der mit setid() in den Hintergrund geschoben wurde
-
Hallo zusammen,
Ich soll als Hausaufgabe für die Uni eine kleine Shell in C schreiben. Unter anderem soll diese Shell einen Befehl "wait" bereitstellen, welcher auf die Terminierung von Hintergrundprozessen wartet.
Mein Problem ist nun, dass ich die Hintergundprozesse mit setid()(<unistd.h>) in den Hintergrund geschoben habe und sie somit vom Parentprozess entkoppelt habe. Daher erhalte ich die Fehlermeldung"/usr/bin/wait: line 4: wait: pid 15487 is not a child of this shell"
beim Ausführen von "wait 15487".
Nun frage ich mich ob es eine Möglichkeit gibt dieses Problem zu lösen. Gibt es eine andere Möglichkeit Prozesse in den Hintergrund zu schieben, oder einen anderen waitpid Befehl, oder könnte weitpid() eigentlich auch "nicht-Kind-Prozesse" behandeln?