如何禁用命令行产生的子进程?
问题描述:
我有一个有点复杂,解释问题,我跑进:如何禁用命令行产生的子进程?
- 我有一个长期运行的nohupped的过程,它的标准错误重定向到一个文件中。
- 但是,我使用一个子进程为stderr加上时间戳。
- 上面提到的子过程不幸并不是nohupped(我的坏)!
- 现在,我怎么得到这个子进程不知何故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 &
冲压标准错误的上述技术在计算器近日获悉就在这里。
在此先感谢您的任何线索。
答
nohup
的手册页我说nohup [ options ] command [arg ...]
。
我记得读过nohup
不处理管道的地方,我认为这是你的。
尝试将您的管道进程重新制作为接受参数的脚本,它应该可以工作。
我希望这会有所帮助。