How to find all child processes?
It is usually entirely feasible to record child processes every time you start one. conveniently, the parent process is passed the pid value of the child process as the return value of the fork call which creates it.
As the man page says:
pid_t fork(void);
It would help if you could tell us why you think it isn't feasible.
I find your comment that it is not feasible to record the creation of processes to be odd, but if you really can't (possibly because you don't know how many will be created and don't want to have to keep realloc
ing memory), then I would probably open all of the files that match the glob /proc/[1-9]*/status
and look for the line that says PPid: <num>
where <num>
was my process id.