14,进程管理(perl笔记)

1,system函数
要启动子进程,perl最简单的方法就是利用system函数,例如,在perl里执行unix的date命令:
system "date";

system 'for i in *;do echo == $i ==; cat $i;done';
此处使用单引号,因为里面的$符号是供shell使用的,而不是给perl看的。双引号会让perl将$i替换成它在perl的值,而不是让shll处理。



2,避免使用shell
my $tarfile = "something*wicked.tar";
my @dirs = qw (fred | flintstone betty);
system "tar", "cvf", $tarfile, @dirs;


3, exec函数

4,环境变量

5,用反引号获得输出结果
my $now = `date`; #获取date的输出结果
print "The time is now $now"; #已包含换行符

如果想用标准输出来获得标准错误输出,可以使用shell的“将标准错误输出合并至当前标准输出”功能,此功能一般在unix shell中通常写成2>&1, 如下所示:
my $output_with_errors = `frobnitz -enable 2>&1`;


6,在列表上下文中使用反引号
如果某个命令输出结果有许多行,那么在标量上下文中使用反引号是,它会被当成一个很长的字符串返回,其中包含换行符。但是如果是在列表上下文中使用相同的反引号,则会返回由各行输出所组成的列表。
在标量上下文中,我们会立即得到所有输出,必须自行拆开。
my $who_text = `who`;
但是在列表上下文中,则会自动取得拆成一行行的数据;
my @who_lines = `who`;

7,将进程视为文件句柄(下面的暂时还不熟练)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/312079/viewspace-245699/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/312079/viewspace-245699/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值