免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2196 | 回复: 6
打印 上一主题 下一主题

遇到一个脚本里子进程的问题,求解(已解决) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-01 10:43 |只看该作者 |倒序浏览
本帖最后由 lth0721 于 2010-08-01 12:35 编辑

情况如下:
  1. [pfOIDcMsOQXn@shtbapp ~]$ cat test.sh
  2. #!/bin/bash
  3. l=`ps -ef|grep "test.sh"`
  4. echo "$l"
  5. sleep 20

  6. [pfOIDcMsOQXn@shtbapp ~]$ ./test.sh
  7. 508      17228  4038  0 10:36 pts/5    00:00:00 /bin/bash ./test.sh
  8. 508      17229 17228  0 10:36 pts/5    00:00:00 /bin/bash ./test.sh
  9. 508      17231 17229  0 10:36 pts/5    00:00:00 grep test.sh
复制代码
而当那个脚本正在执行时候我ps发现的结果如下:
  1. [pfOIDcMsOQXn@shtbapp ~]$ ps -ef|grep test
  2. 508      17228  4038  0 10:36 pts/5    00:00:00 /bin/bash ./test.sh
  3. 508      17291 17251  0 10:36 pts/6    00:00:00 grep test
复制代码
不知道为什么这里会多出一个PID为17229的进程,通过上面的PID的关系这个进程应该是grep的父进程,不知道为什么此时需要多一个进程出来而不以原进程为父进程呢。。,还请大家执教一下。




####mark ####
是由管道造成的,每个管道需要一个额外的子shell来执行,子shellprocess 名同脚本名。

论坛徽章:
0
2 [报告]
发表于 2010-08-01 11:16 |只看该作者
问题很犀利,我也是一知半解,等明白人

论坛徽章:
0
3 [报告]
发表于 2010-08-01 11:31 |只看该作者
这个问题以前有讨论过了,搜搜吧

论坛徽章:
0
4 [报告]
发表于 2010-08-01 11:41 |只看该作者
回复 3# ywlscpl


    给点关键字吧。。谢过

论坛徽章:
0
5 [报告]
发表于 2010-08-01 11:52 |只看该作者

论坛徽章:
0
6 [报告]
发表于 2010-08-01 13:25 |只看该作者
回复 5# ywlscpl


    老换头像啊~弄得我们都不适应了哈哈

论坛徽章:
0
7 [报告]
发表于 2010-08-01 13:44 |只看该作者
回复 6# iori809

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP