您的位置:首页 > 运维架构 > Shell

Perl调用shell命令

2011-08-24 16:20 211 查看

Perl调用shell命令

1. system(”command”);

使用该命令将开启一个子进程执行引号中的命令,父进程将等待子进程结束并继续执行下面的代码。

2. exec(”command”);

效果同system命令类似,区别是不会开启子进程,而是取代父进程,因此执行完引号中的命令后进程即结束。一般和fork配合使用。
3. `command`;

使用反引号调用外部命令能够捕获其标准输出,并按行返回且每行结束处附带一个回车。反引号中的变量在编译时会被内插为其值。
4. open LIST “ls -l|”;

open MORE “|more”;

@list=
;

print MORE @list;

close(LIST);

close(MORE);

使用带管道的文件句柄来执行外部命令,使用方式与读写文件类似。可以从外部命令的输出读取数据,也可以将数据输出到外部命令作为输入。

5. defined(my $pid=fork) or die “Can not fork: $!\n”;

unless ($pid) {

exec (”date”);

}

waitpid ($pid,0);

使用fork将会开启子进程与父进程同时执行之后的代码,其中父进程中fork会返回一个非零的数,而子进程中将返回零。

上面的代码完成和system(”date”)相同的功能。比起system单纯地调用外部命令,fork可以完成更加复杂的进程操作。
最后附上简陋的PPT和一些相关的参考资料
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 shell 休闲