|
fork で子プロセスを生成し、それぞれが何か出力します。 動作例
ここを押すと、実行結果がわかります。↓ ソースコード
fork して、子プロセスが HTML の前半を出力します。
#!/usr/local/bin/perl
use CGI;
use POSIX ":sys_wait_h";
use strict;
my $cgi = new CGI;
my $pid = fork();
if($pid == 0) {
my $i;
print $cgi->header, $cgi->start_html('Fork Test : OK');
print $cgi->h1('Fork Test');
for($i=0; $i<3; $i++) {
print "<p>Child: working...</p>\n";
sleep(1);
}
print "<p>Child: finished.</p>\n";
exit(0);
} elsif($pid > 0) {
waitpid($pid, 0);
print "<p>Parent: wait done ($pid)</p>\n";
print $cgi->end_html;
} else {
print $cgi->header, $cgi->start_html('Fork Test : NG');
print $cgi->h1('Fork Test');
print "<p>Fork failed.</p>\n";
print $cgi->end_html;
}
|
▼ 個人的宣伝
|