Search code examples
clinuxprocessforkpid

How to get all descendent child process id of pid in c in linux


If I fork and the child process then exec and creates more child processes (which themselves can create more processes) , how do I get a list of pids of all the descendent process from the first process?

Is there a better way then looping though /proc/ and checking the PPid (the parent of process's id) of each of process?


Solution

  • Iterating through /proc is the "standard" way to do this. That's how ps and friends (pstree, etc.) are implemented.