ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 14,进程管理(perl笔记)

14,进程管理(perl笔记)

原创 Linux操作系统 作者:tonykorn97 时间:2007-06-23 00:00:00 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/312079/viewspace-245699/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-05

  • 博文量
    1854
  • 访问量
    2088395