perl进程管理

描述

#1 调用外部命令 调用命令的perl程序为该命令的父进程,继承当前perl的标准输入标准输出

3system ‘ls -al $HOME’; #不使用变量内插

system “ls -al \$HOME”; #\$代表 $ 一个字符

system “ls -al $HOME”; #$HOME代表perl程序中的标量$HOME;

#system退出状态为0代表正常;

2unless (system ‘ls -al’) {print “cannot run shell\n”;}

!system ‘ls -al’ or die “cannnot run shell\n”;

#exec 操作符也能执行外部命令,但是会结束当前perl

#2查找环境变量

环境变量存储在%ENV的哈希变量中 例子:

2my $path=$ENV{‘PATH’};

print $path;

#3使用文件句柄执行外部进程

2open DATE ,‘-|’,‘date’ or die “cannot pipe from date:$!”;

open MAIL, ‘|-’,‘mailmerlyn’ or die “cannot pipe to mail:$!”;

| 在右边时表示该命令的输出连接到文件句柄DATE中,在左边表示命令的输入从文件句柄MAIL中读取

使用close关闭文件句柄时PERL会等待该进程结束然后取得结束状态,结束状态存于$?变量中,零表示成功,非零表示失败;使用system和反引号结束状态也会被存于$?变量中。

如果PERL在读取文件句柄时,外部命令没有数据输出,那么PERL就会停止运行等待数据输出为止。

审核编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分