Jamais essayé, et ça n'a pas l'air super trivial non plus, mais regarde du coté de ptrace(2).
C'est ce qu'utilisent strace et gdb pour tracer des processus deja lancés identifiés par leur pid.
PTRACE_ATTACH:
Attaches to the process specified in pid, making it a traced
"child" of the current process;
Une fois "rattaché" à ton process, les wait() devraient marcher. Cependant attention, tu vas aussi sans doute recevoir les notifications de tous les signaux que reçoit le process, qui est alors stoppé en attendant que tu fasses ton boulot de debuggueur, et il semble qu'il faille le redémarrer "à la main" à chaque fois (indiqué dans le man).
De plus wait() ne marchera plus pour le vrai parent ; ça risque donc de casser des trucs.
# ptrace ?
Posté par daggett . En réponse au message wait(), mais pas sur un fils. Évalué à 4.
C'est ce qu'utilisent strace et gdb pour tracer des processus deja lancés identifiés par leur pid.
PTRACE_ATTACH:
Attaches to the process specified in pid, making it a traced
"child" of the current process;
Une fois "rattaché" à ton process, les wait() devraient marcher. Cependant attention, tu vas aussi sans doute recevoir les notifications de tous les signaux que reçoit le process, qui est alors stoppé en attendant que tu fasses ton boulot de debuggueur, et il semble qu'il faille le redémarrer "à la main" à chaque fois (indiqué dans le man).
De plus wait() ne marchera plus pour le vrai parent ; ça risque donc de casser des trucs.