我有一些代码,我在其中重定向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. 任何有助于进一步调试的帮助,或非常感谢的提示。