I'm trying to get list of subprocesses of single process. I'm trying to use pgrep
or ps
to get list, but they return nothing or return not all subprocesses. But pstree
returns all subproceeses
root@ubuntu-1804-fastpanel:~# ps --ppid=13870 -o pid
PID
root@ubuntu-1804-fastpanel:~# pgrep -P 13870
root@ubuntu-1804-fastpanel:~# pstree -p 13870
java(13870)─┬─{java}(13877)
├─{java}(13881)
├─{java}(13882)
├─{java}(13883)
├─{java}(13884)
├─{java}(13885)
├─{java}(13886)
├─{java}(13887)
├─{java}(13888)
├─{java}(13889)
├─{java}(13890)
├─{java}(13891)
├─{java}(13892)
├─{java}(13893)
├─{java}(13894)
├─{java}(13895)
├─{java}(13896)
├─{java}(13897)
├─{java}(13902)
├─{java}(13907)
├─{java}(13916)
├─{java}(13917)
├─{java}(13918)
├─{java}(13925)
└─{java}(14469)
root@ubuntu-1804-fastpanel:~#
The second example
root@ubuntu-1804-fastpanel:~# ps --ppid=21725 -o pid
PID
21752
root@ubuntu-1804-fastpanel:~# pgrep -P 21725
21752
root@ubuntu-1804-fastpanel:~# pstree -p 21725
php(21725)─┬─php(21752)
├─{php}(21734)
├─{php}(21743)
├─{php}(21745)
├─{php}(21747)
└─{php}(21751)
root@ubuntu-1804-fastpanel:~#
I need pgrep
(or at least ps
) to return list of all subprocesses, because I need to parse this data. It will be really hard to do it with pstree
. Please tell what am I doing wrong?