perl fork不执行

Mic*_*jay 0 perl fork

我第一次尝试使用fork,所以我可以重定向用户的Web浏览器,然后继续处理.我查找了使用fork的代码,但我的子进程没有执行(即文件没有被创建).我究竟做错了什么?

#! /usr/bin/perl 

if ($pid = fork) { } 
else { 
  close STDOUT(); 
  open(FILE,'>test.txt'); 
   print FILE time; 
  close(FILE); 
  exit(0); 
} 
print "Location: http://mydomain.com/\n\n";
Run Code Online (Sandbox Code Playgroud)

mob*_*mob 5

STDOUT()使Perl查找一个名为的函数STDOUT,而不是查找函数,会中止您的子进程.

$ perl -we 'close STDOUT()'
Undefined subroutine &main::STDOUT called at -e line 1.
Run Code Online (Sandbox Code Playgroud)

你只需要说

close(STDOUT);
Run Code Online (Sandbox Code Playgroud)

要么

close STDOUT;
Run Code Online (Sandbox Code Playgroud)

即使您只能在Web浏览器中测试此程序,错误消息仍应显示在服务器错误日志中.