LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1454|回复: 5

怎样查询当前的shell嵌套关系~

[复制链接]
发表于 2007-8-23 09:23:55 | 显示全部楼层 |阅读模式
在SHELL下,输入BASH or SH etc.-〉回车,又进入了一个SHELL的子进程,这样我可以嵌套很多层的SHELL,有没有办法知道这些shell的嵌套关系,能用命令查出来的,除了ps命令
发表于 2007-8-23 11:05:57 | 显示全部楼层
要查询嵌套关系,还不能用ps(奇怪的要求!),那只有自己写脚本吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-23 17:36:43 | 显示全部楼层
Post by sunnyseckt
要查询嵌套关系,还不能用ps(奇怪的要求!),那只有自己写脚本吧


不是奇怪的要求,我只是问有没有直观明了的方法
如果用ps的话只能凭PID来识别哪个SHELL是先执行的,并不能能直观的看出来,当然,如果在script里面写脚本实现这个功能,那ps会是一个很好的选择
回复 支持 反对

使用道具 举报

发表于 2007-8-23 19:19:32 | 显示全部楼层
bash有个环境变量, 可以知道自己嵌套在第几层:  
$ echo $SHLVL
1
$ bash
$ echo $SHLVL
2
回复 支持 反对

使用道具 举报

发表于 2007-8-23 21:02:30 | 显示全部楼层
$SHLVL 这个内部变量可以的
回复 支持 反对

使用道具 举报

发表于 2007-8-24 00:22:18 | 显示全部楼层
·
  1. $ pstree
  2. init─┬─NetworkManager───{NetworkManager}
  3.      ├─NetworkManagerD
  4.      ├─apache2───5*[apache2]
  5.      ├─bandwidthd─┬─3*[bandwidthd───bandwidthd]
  6.      │            └─bandwidthd
  7.      ├─beryl-manager
  8.      ├─bonobo-activati───{bonobo-activati}
  9.      ├─cairo-clock
  10.      ├─cron
  11.      ├─2*[dbus-daemon]
  12.      ├─dbus-launch
  13.      ├─dcopserver
  14.      ├─dd
  15.      ├─dhcdbd───dhclient
  16.      ├─esd
  17.      ├─fcitx
  18.      ├─firefox-bin───6*[{firefox-bin}]
  19.      ├─gconfd-2
  20.      ├─gdm───gdm─┬─Xorg
  21.      │           └─gnome-session─┬─emerald
  22.      │                           ├─fcitx
  23.      │                           ├─gnome-panel
  24.      │                           ├─metacity
  25.      │                           ├─nautilus
  26.      │                           ├─nm-applet
  27.      │                           ├─2*[ssh-agent]
  28.      │                           └─{gnome-session}
  29.      ├─6*[getty]
  30.      ├─gnome-keyring-d
  31.      ├─gnome-power-man
  32.      ├─gnome-screensav
  33.      ├─gnome-settings-───{gnome-settings-}
  34.      ├─gnome-vfs-daemo
  35.      ├─gnome-volume-ma
  36.      ├─gweather-applet
  37.      ├─hald───hald-runner─┬─hald-addon-acpi
  38.      │                    ├─hald-addon-keyb
  39.      │                    └─hald-addon-stor
  40.      ├─kded
  41.      ├─kdeinit───klauncher
  42.      ├─klogd
  43.      ├─knotify
  44.      ├─liferea-bin───5*[{liferea-bin}]
  45.      ├─lunar-applet
  46.      ├─master─┬─pickup
  47.      │        └─qmgr
  48.      ├─mixer_applet2
  49.      ├─mount.ntfs-3g
  50.      ├─multiload-apple
  51.      ├─squid───squid───unlinkd
  52.      ├─syslogd
  53.      ├─system-tools-ba───dbus-daemon
  54.      ├─timer-applet
  55.      ├─udevd
  56.      ├─vsftpd
  57.      └─yakuake─┬─bash───aptitude───4*[{aptitude}]
  58.                └─bash───pstree
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表