2011-04-21 149 views
1

我有一个有点复杂,解释问题,我跑进:如何禁用命令行产生的子进程?

  1. 我有一个长期运行的nohupped的过程,它的标准错误重定向到一个文件中。
  2. 但是,我使用一个子进程为stderr加上时间戳。
  3. 上面提到的子过程不幸并不是nohupped(我的坏)!
  4. 现在,我怎么得到这个子进程不知何故nohupped,并保持stderr保存,并保持即使我登出后来到文件。我必须注销服务器。

有问题的命令行看起来是这样的:

$ nohup myscript.sh -op1 val1 -op2 val2 -op3 val3 >mystderr.txt 2> >(while read line; do echo "$(date): ${line}"; done > n100l1800g0.5.err) < /dev/null & 

冲压标准错误的上述技术在计算器近日获悉就在这里。

在此先感谢您的任何线索。

回答

1

nohup的手册页我说nohup [ options ] command [arg ...]

我记得读过nohup不处理管道的地方,我认为这是你的。

尝试将您的管道进程重新制作为接受参数的脚本,它应该可以工作。

我希望这会有所帮助。