cgi 呼び出しからバックグラウンド プロセスをフォークしたい。httpd 呼び出しがすぐに戻り、残りのものが実行され続けるように
これは、新しいマシンに移行するまでずっと機能していました
............
## Close the http connection so that the remote client returns
close STDOUT;
close STDERR;
POSIX::setsid();
fork() && exit;
do_job();
.........
現在、新しいマシンでは、同じコードが do_job() Perl を実行することはありません。httpd のバージョンは同じです (カーネルのマイナー アップグレードがあります)。
今、コードを次のように変更しました
..........
open(STDOUT,">/dev/null");
open(STDERR,">/dev/null");
POSIX::setsid();
fork() && exit;
do_job();
.........
これは機能しますが、理由はわかりません