日期:2014-05-16  浏览次数:20753 次

求助!想在打开bash时提取父进程ID,结果总是带着子进程ID
本帖最后由 bycgeek 于 2013-01-14 16:50:21 编辑
在/etc/bash.bashrc的最后加了如下一行
bash_ppid=$(ps -ef | grep $$.*bash | grep -v grep | awk '{print $3}')

然后
echo $bash_ppid

不知为何得到的总带着子进程自己的ID:32617 32622

我知道自己写的这句垃圾,如果你们有更高效的方法还请不吝赐教;-)
bash

------解决方案--------------------
引用:
引用:Plain Text code?1bash_ppid=$(ps -ef 
------解决方案--------------------
 grep "$$.*bas[h]" 
------解决方案--------------------
 grep -v grep 
------解决方案--------------------
 awk 'NR==1{print $3}')
谢谢 这个管用 看来我是awk没有用对啊,回头再去复习下。
我还有个问题:为什么
Plain Text code?1bash_ppid=$(……

第一种写法里面这个命令本身也会被grep出来,所以就多了一个进程。