您的位置:首页 > 其它

全面认识Perl进程处理函数

2013-03-11 22:02 281 查看
本文和大家重点学习一下Perl进程处理函数的概念,这里主要包括Perl进程启动函数和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、调用pipe2、用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帮助。例子结果输出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: