23 lines
540 B
Bash
Executable File
23 lines
540 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
function top_level_parent_pid {
|
|
# Look up the parent of the given PID.
|
|
pid=${1:-$$}
|
|
stat=($(</proc/${pid}/stat))
|
|
ppid=${stat[3]}
|
|
|
|
# /sbin/init always has a PID of 1, so if you reach that, the current PID is
|
|
# the top-level parent. Otherwise, keep looking.
|
|
if [[ ${ppid} -eq 1 ]] ; then
|
|
echo ${pid}
|
|
else
|
|
top_level_parent_pid ${ppid}
|
|
fi
|
|
}
|
|
|
|
|
|
echo "Top Level Parent Pid: $(top_level_parent_pid)"
|
|
echo "Top Level Command: $(ps -o cmd= $(top_level_parent_pid))"
|
|
|
|
exit 0
|