nohup多进程的输出分析

 debug时阅读nohup.out发现一个有趣的现象。程序主干是这样的:每个循环fork一次,子进程直接exit,父进程输出一行东西(exp i),然后进入下次循环。
 我最开始以为输出会是这样的:

exp1
exp2
exp3
......

这也是正常后台运行(只加&)的输出。
 而实际上却是这样的:

exp1	//p1
exp1	//p2
exp2
exp1	//p3
exp2
exp3
exp1	//p4
exp2
exp3
exp4
......

 分析形式我觉得,Nohup指令触发多个进程重定向到nohup.out时,每个进程的标准输出是从最古老的父进程开始到该子进程exit这段时间的全部输出,而非fork执行后到exit的输出。这种解释和该情景相吻合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值