跳转至

15. 父子进程

4. 父子shell

1.检查父子shell关系

ps -ef --forest
[root@151 ~]# bash
[root@151 ~]# sh
sh-4.2# ps -f --forest
UID         PID   PPID  C STIME TTY          TIME CMD
root      62744  62740  0 01:23 pts/0    00:00:01 -bash
root      83726  62744  0 02:26 pts/0    00:00:00  \_ bash
root      83737  83726  0 02:26 pts/0    00:00:00      \_ sh
root      83769  83737  0 02:26 pts/0    00:00:00          \_ ps -f --forest

2.创建进程列表

[root@151 ~]# (cd ~;pwd;ls;cd /tmp;pwd;ls)
/root
anaconda-ks.cfg  kubeadm.yaml  nohup.out  test  test1.sh  test2.sh  test.sh
/tmp
vmware-root_5988-692291369  vmware-root_6078-701007381
[root@151 ~]# 

3.检查是否检测在子shell环境中

[root@151 ~]# cd ~;pwd;ls;cd /tmp;pwd;ls;echo $BASH_SUBSHELL
/root
anaconda-ks.cfg  kubeadm.yaml  nohup.out  test  test1.sh  test2.sh  test.sh
/tmp
vmware-root_5988-692291369  vmware-root_6078-701007381
0
[root@151 tmp]# (cd ~;pwd;ls;cd /tmp;pwd;ls;echo $BASH_SUBSHELL)
/root
anaconda-ks.cfg  kubeadm.yaml  nohup.out  test  test1.sh  test2.sh  test.sh
/tmp
vmware-root_5988-692291369  vmware-root_6078-701007381
1

4.子shell嵌套

[root@151 tmp]# (pwd;(pwd;(echo $BASH_SUBSHELL)))
/tmp
/tmp
3

最后更新: 2022-02-19 13:59:07