Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1003706
  • 博文数量: 87
  • 博客积分: 3324
  • 博客等级: 中校
  • 技术积分: 1003
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-17 11:37
文章分类

全部博文(87)

文章存档

2014年(3)

2013年(5)

2012年(21)

2011年(13)

2010年(7)

2009年(9)

2008年(4)

2007年(14)

2006年(11)

分类:

2010-04-15 14:29:36

我们都知道在shell上敲入任何的命令,shell都会创建一个新的进程,然后用你输入的命令来替换这个新进程的执行镜像。那么只要获取到新建进程的父进程,就可以知道当前shell的进程号,从而可以知道该shell到底是什么。真正的命令其实很简单:

ps -ef |grep $$

Shell变量 $$ 就代表父进程的PID.

例如在我的机器上,上述命令的执行结果如下:

# echo $$
9289
# ps -ef |grep 9289
   smmsp  9290  9289  0                   0:00
    root  9597  9289  0 14:21:59 pts/5    0:00 grep 9289
    root  9289  9285  0 14:16:52 pts/5    0:00 -sh

显然,我当前的shell就是sh.

阅读(1245) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~