方便理解,Perl的fork函数派生子进程的过程:

  1. #!/usr/bin/perl -w
  2. # wangxiaoyu#live.com
  3. use strict;
  4. defined(my $pid=fork()) or die "Fork process failured:$!\n";
  5. unless($pid)
  6. {
  7. # This is the child process.
  8. system "date";
  9. sleep(3);
  10. print ("Exit child after 3 seconds wait!\n");
  11. exit();
  12. }
  13. # This is the parent process.
  14. waitpid($pid,0);
  15. system "date";
  16. 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!

本文转自xiaoyuwang 51CTO博客,原文链接:http://blog.51cto.com/wangxiaoyu/367589,如需转载请自行联系原作者

关于理解Perl的fork函数的一个范例相关推荐

  1. 指针函数的一个范例,在单片机上运用它能让您的程序结构更明朗清晰,层次感强...

    #define ubyte unsigned char #define uint unsigned int #define ulong unsigned longubyte kbCode; // 按键 ...

  2. 深入理解计算机系统--fork函数

    fork函数 一.函数的解析 (1) fork:创建进程 (2) fork函数调用一次,返回两次.返回的两次一次是在父进程中,fork返回子进程的PID:一次是在子进程中,fork返回0.其中,子进程 ...

  3. fork是linux函数吗,linux fork()函数

    概述 最近在看进程间的通信,看到了fork()函数,虽然以前用过,这次经过思考加深了理解.现总结如下: 1.函数本身 (1)头文件 #include #include (2)函数原型 pid_t fo ...

  4. CSAPP作业:Fork函数的学习感悟

    在CSAPP课程学习中,教材的第八章:异常控制流中出现了一个名为Fork的函数,在书中提到它可以将一个进程复制为几乎相同却不完全相同的两个进程,被用于系统调用错误处理中,这使我对它产生了浓厚的兴趣. ...

  5. 操作系统---fork函数解析与例题详解

    fork的基本知识 函数原型:pid_t fork( void); 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID:否则,出错返回-1 一个现有进程可以调用fork函数创建一 ...

  6. linux 的fork函数原型,浅析fork()和底层实现

    记得以前初次接触fork()函数的时候,一直被"printf"输出多少次的问题弄得比较晕乎.不过,"黄天不负留心人".哈~ 终于在学习进程和进程创建fork相关 ...

  7. 深入解析Linux中的fork函数

    1.定义 #include <unistd.h> #include<sys/types.h> pid_t fork( void ); pid_t 是一个宏定义,其实质是int, ...

  8. fork()函数_fork()函数的使用

    fork的意思是个叉子,在unix及其衍生版Linux中,用于创建子进程,现在看一下fork函数的基本用法. #include<stdio.h> #include<stdlib.h& ...

  9. UNIX环境编程学习笔记(19)——进程管理之fork 函数的深入学习

    在"进程控制三部曲"中,我们学习到了 fork 是三部曲的第一部,用于创建一个新进程.但是关于 fork 的更深入的一些的东西我们还没有涉及到,例如,fork 创建的新进程与调用进 ...

最新文章

  1. 爬虫图片href是html图片,python爬虫取图片详解,
  2. js中对象的私有属性和公有属性
  3. Hyper-V 故障转移群集管理
  4. 皮一皮:确定不是某种特色酒店?
  5. esp32-wrover流水灯c语言程序,ESP-WROVER-KIT V4.1 入门指南
  6. 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
  7. 如何让二维码自适应浏览器的尺寸
  8. 使用maven的profile区分本地环境和线上环境
  9. 红橙Darren视频笔记 贝塞尔曲线实现消息拖拽粘性效果 画笔练习
  10. 大数据可视化应用在哪些方面
  11. 基于三台主机部署phpwind
  12. 将图片从AutoCAD导出到Word
  13. PPT的配色方法(师从于珞珈老师)
  14. 天然产物数据库综述:2020年从哪里找天然产物数据
  15. 我喜欢计算机作文450字,我喜欢的一种游戏作文450字(精选8篇)
  16. 程序员应该有制定工作计划的意识
  17. 【沃顿商学院学习笔记】管理学——06腐败带来的间接成本和全球制裁状况Indirect Costs and Sanction
  18. LinkedList源码浅析
  19. OSI 参考模型介绍
  20. DevExpress之XtraReport 学习笔记

热门文章

  1. python调用ipython_在IPython中执行Python程序文件的示例
  2. python函数装饰器参数 参数_【转】python 装饰器功能以及函数参数使用
  3. python 杂记(二)
  4. linux系统程序PPT,Linux 系统应用与程序设计 问题.ppt
  5. Leetcode-184. 部门工资最高的员工
  6. 软件项目管理0813:法律合规
  7. 笔记-高项案例题-2017年上-质量管理
  8. 第1节:C语言发展及基本格式步骤
  9. C#中WinForm程序退出方法
  10. HTML5 基础知识(一)