我需要编写一个递归函数,该函数将采用 PID 并查找其父级、祖先和子级。我写了这个,但似乎不起作用。
此函数仅适用于用户输入的进程的祖先。
findFather(){
if [ $1 -ne 1 ]; then
pid=$1
ppid=ps -ef | awk '$pid == $2'
findFather $ppid
echo $ppid
fi
findFather $1
最佳答案
pstree
来自 psmisc
包:
*$ sleep 60 & sleep 60 & sleep 60 &
[1] 2196
[2] 2197
[3] 2198
$ echo $$
1876
$ pstree -sp $$
systemd(1)───gnome-terminal-(3381)───fish(1186)───bash(1876)─┬─pstree(2224)
├─sleep(2196)
├─sleep(2197)
└─sleep(2198)*
关于bash - 查找进程的所有祖先和子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29951804/