黑基网 首页 服务器 Linux 查看内容

如何获得上一个进程的pid的方法

2011-7-14 11:39| 投稿: Linux

摘要: 在《如何压缩程序占用内存的方法》里我为了测试程序的内存占用大小写了一个shell脚本   1.$1 &  2.echo "$1 pid:$!" 3.sleep 3&nb...
在《如何压缩程序占用内存的方法》里我为了测试程序的内存占用大小写了一个shell脚本   1.$1 &  2.echo "$1 pid:$!" 3.sleep 3  4.pmap $!|grep total|awk -v pid="$!" '{print "pid",pid," memory:",$2}' 里面需要用到linux shell的特殊变量$!,网上都是说$! 返回的是 上一个命令的PID。但是我实际测试得出,这个说法一般不对,一般对对于前台命令不对: 1.[[email protected] ~]# wc -l a.txt  2.2162 a.txt  3.[[email protected] ~]# echo $!  4.[[email protected] ~]#  但是对于后台命令是对的  1.[[email protected] ~]# wc -l a.txt &  2.[1] 9155  3.2162 a.txt  4.[[email protected] ~]# echo $!  5.9155  6.[1]+ Done wc -l a.txt 而且,之后若是执行的命令不是后台命令的话,$!里的值都不会改变,直到下一个后台命令执行为止     1.[[email protected] ~]# wc -l a.txt  2.2162 a.txt  3.[[email protected] ~]# echo $!  4.9155  5.[[email protected] ~]# wc -l a.txt &  6.[1] 9198  7.[[email protected] ~]# 2162 a.txt  8.[1]+ Done wc -l a.txt  9.[[email protected] ~]# echo $!  10.9198 结论:$!保存的是最后一个后台执行命令的pid,第一次登录服务器时,$!为空
小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部