You're not reaping your children (using wait, waitpid or $SIG{CHLD} = 'IGNORE';). A process continues to exist after it exits so its parent can be notified of the exit and so the parent can fetch its exit code.
The program has to spawn a SAS process which does funny things to the terminal and so SAS is initiated in the parent process as opposed to the child
I don't follow. The parent and child should have equal access to the terminal.
Anyways the child waits for the parent process to end
Apparently not, since you said it's defunct.
In reply to Re: Fork Causing <defunct>
by ikegami
in thread Fork Causing <defunct>
by owen
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |