温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Perl中怎么使用进程处理函数

发布时间:2021-07-14 14:26:58 来源:亿速云 阅读:147 作者:Leah 栏目:开发技术

本篇文章给大家分享的是有关Perl中怎么使用进程处理函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Perl进程处理函数

1、Perl进程处理函数中Perl进程启动函数

函数名eval

调用语法eval(string)

解说将string看作Perl语句执行。

正确执行后,系统变量$@为空串,如果有错误,$@中为错误信息。

例子$print="print(\"hello,world\\n\");";

eval($print);

结果输出hello,world

函数名system

调用语法system(list)

解说list中***个元素为程序名,其余为参数。

system启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。


例子@proglist=("echo","hello,world!");

system(@proglist);

结果输出hello,world!

函数名fork

调用语法procid=fork();

解说创建程序的两个拷贝--父进程和子进程--同时运行。子进程返回零,父进程返回非零
值,此值为子程序的进程ID号。

例子

$retval=fork();   if($retval==0){   #thisisthechildprocess   exit;#thisterminatesthechildprocess   }else{   #thisistheparentprocess   }

结果输出无

函数名pipe

调用语法pipe(infile,outfile);

解说与fork合用,给父进程和子进程提供通信的方式。送到outfile文件变量的信息可以
通过infile文件变量读取。步骤:

1、调用pipe

2、用fork将程序分成父进程和子进程

3、一个进程关掉infile,另一个关掉outfile

例子

pipe(INPUT,OUTPUT);   $retval=fork();   if($retval!=0){   #thisistheparentprocess   close(INPUT);   print("Enteralineofinput:\n");   $line=<STDIN>;   printOUTPUT($line);   }else{   #thisisthechildprocess   close(OUTPUT);   $line=<INPUT>;   print($line);   exit(0);   }

结果输出$

program   Enteralineofinput:   Hereisatestline   Hereisatestline   $

函数名exec

调用语法exec(list);

解说与system类似,区别是启动新进程前结束当前程序。常与fork合用,当fork分成两个
进程后,子进程用exec启动另一个程序。

例子

结果输出

函数名syscall

调用语法syscall(list);

解说调用系统函数,list***个元素是系统调用名,其余为参数。

如果参数是数字,就转化成C的整型数(typeint)。否则传递字符串的指针。详见UNIX的帮助Perl文档。

使用syscall必须包含文件syscall.pl,即:

require("syscall.ph");

例子

结果输出

2、Perl进程处理函数中Perl进程终止函数

函数名die

调用语法die(message);

解说终止程序并向STDERR输出错误信息。message可以为字符串或列表。如果***一个参
数不包含换行符,则程序文件名和行号也被输出。

例子die("Cannotopeninputfile");

结果输出Cannotopeninputfileatmyprogline6.

函数名warn

调用语法warn(message);

解说与die类似,区别是不终止程序。

例子warn("Danger!Danger!\n");

结果输出Danger!Danger!


函数名exit

调用语法exit(retcode);

解说终止程序并指定返回值。

例子exit(2);

结果输出无

函数名kill

调用语法kill(signal,proclist);

解说给一组进程发送信号。

signal是发送的数字信号,9为杀掉进程。

proclist是进程ID列表。详见kill的UNIX帮助。

以上就是Perl中怎么使用进程处理函数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI