2005-05-19
_ [開発] Perlで子プロセスのエラー出力が親プロセスに横取りされる
ループの中で以下のようにfork,execを繰り返していたら、最後にforkしたプロセスでだけ、err.logに吐かれるべき結果が親プロセスのエラー出力に吐かれるという現象に悩まされた。それ以外のプロセスではきちんとerr.logに出力されている。
$pid = fork();
if ($pid == 0) {
  exec("foo 2> err.log");
}
_ 結局、以下のようにしたら解決。うーむ。
$pid = fork();
if ($pid == 0) {
  open(STDERR, "> err.log");
  exec("foo");
}
[ツッコミを入れる]
READMEと日記の書き方
