我有一些代码,我在其中重定向stdout
到logfile
(通常的,dup, open, and dup2
)然后恢复stdout
。只要我C
在两者之间有一些代码,它就可以正常工作,当我调用system()
并执行一些shell/perl
脚本时,我看到logfile
在执行结束时被删除了!(被调用的脚本没有logfile
名称,也不做任何事情unlink
)我可以在脚本执行时logfile
看到正在编写的内容。
代码块是这样的:
/redirect-stdout-to-logfile/
system(scripts);
/reset-stdout/
我想将所有消息捕获stdout
到logfile
. 任何有助于进一步调试的帮助,或非常感谢的提示。