方便理解,Perl的fork函数派生子进程的过程:
#!/usr/bin/perl -w # wangxiaoyu#live.com use strict; defined(my $pID=fork()) or dIE "Fork process failured:$!\n"; unless($pID) { # This is the child process. system "date"; sleep(3); print ("Exit child after 3 seconds wait!\n"); exit(); } # This is the parent process. waitpID($pID,0); system "date"; print ("exit parent!\n");
程序执行结果如下:
# perl perl-fork02.pl
Wed Aug 4 22:51:38 HKT 2010
Exit child after 3 seconds wait!
Wed Aug 4 22:51:41 HKT 2010
exit parent!
#
如果不在父进程中提供waitpID函数的话,父进程会在成功创建子进程后不等待子进程执行完毕,立即执行其余的代码,这样的话执行的结果如下:
# perl perl-fork02.pl Wed Aug 4 22:50:25 HKT 2010 Wed Aug 4 22:50:25 HKT 2010 exit parent! # Exit child after 3 seconds wait!
总结以上是内存溢出为你收集整理的关于理解Perl的fork函数的一个范例全部内容,希望文章能够帮你解决关于理解Perl的fork函数的一个范例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)