我们都知道在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.
阅读(1287) | 评论(0) | 转发(0) |