A nice tool to get some understanding of the dependencies of processes is the ptree tool. With the -c option it shows the contract id (the contract filesystem is one of the features many people use because other features use it, but many are not really aware it’s there) of the process and — for many people more interesting — the FMRI of the service by which it has been started (that said it’s technically not the FMRI of the process but of the contract, which is the same).
When you know the contract id of a process, you can check which service created this contract.
root@solaris:~# ps -ef -o pid,ctid,args | grep "1108"
1108 151 /usr/bin/coremond
root@solaris:~# ctstat -vi 151
CTID ZONEID TYPE STATE HOLDER EVENTS QTIME NTIME
151 0 process owned 14 0 - -
cookie: 0x20
informative event set: none
critical event set: core signal hwerr empty
fatal event set: none
parameter set: inherit regent
member processes: 1108
inherited contracts: none
service fmri: svc:/system/coremon:default
service fmri ctid: 151
creator: svc.startd
aux: start
With ptree you get the most interesting information in a better overview representation:
jmoekamp@solaris:~$ ptree -c 1108
[process contract 1 svc:/system/init:default]
1 /usr/sbin/init
[process contract 4 svc:/system/svc/restarter:default]
14 /lib/svc/bin/svc.startd
[process contract 151 svc:/system/coremon:default]
1108 /usr/bin/coremond