ps aufx
Output will look something like the following, where I have used the Oracle agent and its child proceesses to illustrate the formatted process tree:
oracle 33037 0.0 0.0 162892 15600 ? S Jan29 0:06 /u01/oracle/product/agent13c/agent_13.2.0.0.0/perl/bin/perl /u01/oracle/product/agent13c/agent_13.2.0. oracle 33127 0.3 0.9 2714968 313308 ? Sl Jan29 5:01 \_ /u01/oracle/product/agent13c/agent_13.2.0.0.0/oracle_common/jdk/bin/java -Xmx128M -XX:MaxPermSize= oracle 48285 0.0 0.0 331652 23220 ? S 15:41 0:00 \_ /u01/oracle/product/agent13c/agent_13.2.0.0.0/perl/bin/perl /u01/oracle/product/agent13c/agent
Alternatively, use pstree:
pstree -p pstree -p 12345where 12345 is the process id.
For example, the Oracle agent is started via a perl script, and spawns multiple java child processes:
ps -ef |grep agent | grep perl oracle 12345 1 0 08:53 ? 00:00:00 /sw/oracle/product/agent13c/GoldImage/agent_13.4.0.0.0/perl/bin/perl /sw/oracle/product/agent13c/GoldImage/agent_13.4.0.0.0/bin/emwd.pl agent /sw/oracle/product/agent13c/agent_inst/sysman/log/emagent.nohupUse the process id as an argument to pstree to see all the child processes process 12345 has spawned (output abbreviated):
pstree -p 12345 perl(12345)───java(32690)─┬─{java}(32691) ├─{java}(32692)