perl学习(9)进程管理

本文详细介绍了Perl中system和exec函数的区别与用法,包括如何启动后台进程、环境变量的设置与修改,以及如何通过fork实现并发操作等内容。

一:system

  system函数是启动perl子程序最简单的方法。eg:system “date”

1:可以利用shell功能来启动后台进程

  system "run_cmd with parameters &";#在后台执行

2:system执行正常返回值为0,否则返回值非0.

3:支持多个参数

二:exec function

  类似于system;

  区别:system会创建子进程执行外部命令,父进程等待创建的子进程结束并继续执行下面代码;而exec不会开启子进程。而是取代父进程成为新的父进程,一般和fork配合使用;exec调用之后写的任何代码都无法运行。

三:环境变量

  %ENV:修改%ENV可以改变环境变量,但不影响shell或者其他父进程

四:反引号捕获输出结果

五:fork进行并发操作

  fork从一个进程中创建两个进程,如果成功,该函数给父进程返回新创建的子程序ID,而给子程序返回0。如果系统没有足够的资源分配一个新的进程,那么调用失败并返回undef。

  父进程可以使用waitpid函数来等待子进程的结束

  eg:

  

  

  输出:当命令行为0时,执行else段,系统fork自动给值,pid得到子程序的ID值,所以先执行父程序段,再执行子程序段,若在父程序段出现waitpid,则进入子程序,执行完子程序再执行剩下的父程序。

  

  

 

转载于:https://www.cnblogs.com/xh13dream/p/8645204.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值