in reply to Can't close STDIN/STDOUT/STDERR

That message looks familiar to me ;-)

Well, anyway, it means that instead of a real system file handle, you are using a faked one, usually something derived from Tie::Handle that is not connected to a real file. Tied file handles work fine as long as you stay inside the Perl process but you can not pass them to new processes because they do not exists at the operative system level.

Replies are listed 'Best First'.
Re^2: Can't close STDIN/STDOUT/STDERR
by brp4h (Acolyte) on Feb 09, 2010 at 21:29 UTC
    I'm really confused... I think I need to close the ACTUAL STDOUT/in/err because I'm trying to run a CGI script that takes a very long time to process. I want the parent to return an HTML confirmation page after it waits 30 seconds (in case the child finishes quickly).
      As ikegami has already toll you, reopen STDIN/STDOUT/STDERR to /dev/null.

      Though, until you get your program working right, it would be probably better to redirect STDOUT/STDERR to some file you can read (i.e. /tmp/out).