をlogfile
(通常はdup, open, and dup2
)にリダイレクトしてから、stdout
に戻すコードがあります。私がsystem()
を呼び出してshell/perl
スクリプトを実行すると、C
コード がある限り、これは問題なく動作します。実行終了時にlogfile
が削除されています。 (呼び出されているスクリプトにはlogfile
という名前はなく、unlink
はしません) logfile
がと書かれていて、というスクリプトが実行されているのがわかります。標準出力をリダイレクトするときにログファイルが削除されました
コードブロックは、このようなものです:
/redirect-stdout-to-logfile/
system(scripts);
/reset-stdout/
私はlogfile
にstdout
にすべてのメッセージをキャプチャしたいです。 さらにデバッグするのに役立つ、またはヒントを大いに感謝します。