加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

全面认识Perl进程处理函数

发布时间:2020-12-16 00:17:39 所属栏目:大数据 来源:网络整理
导读:本文和大家重点学习一下Perl进程处理函数的概念,这里主要包括Perl进程启动函数和Perl进程终止函数两部分内容,希望本文的介绍能让你有所收获。 Perl进程处理函数 1、Perl进程处理函数中Perl进程启动函数 函数名eval 调用语法eval(string) 解说将string看作P

    本文和大家重点学习一下Perl进程处理函数的概念,这里主要包括Perl进程启动函数和Perl进程终止函数两部分内容,希望本文的介绍能让你有所收获。

    Perl进程处理函数

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

    函数名eval

    调用语法eval(string)

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

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

    例子$print="print("hello,worldn");";

    eval($print);

    结果输出hello,world

    函数名system

    调用语法system(list)

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

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


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

    system(@proglist);

    结果输出hello,world!

    函数名fork

    调用语法procid=fork();

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

    例子

    
    
  1. $retval=fork(); ?
  2. ?
  3. if($retval==0){ ?
  4. #thisisthechildprocess ?
  5. exit;#thisterminatesthechildprocess ?
  6. }else{ ?
  7. #thisistheparentprocess ?
  8. } ?
  9. ?

结果输出无

函数名pipe

调用语法pipe(infile,outfile);

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

1、调用pipe

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

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

例子

pipe(INPUT,OUTPUT); ?
     
     
  • $retval=fork(); ?
  • if($retval!=0){ ?
  • close(INPUT); ?
  • print("Enteralineofinput:n"); ?
  • $line=<STDIN>; ?
  • printOUTPUT($line); ?
  • close(OUTPUT); ?
  • INPUTprint($line); ?
  • exit(0); ?
  • ?
  • 结果输出$

    program ?
         
         
  • Enteralineofinput: ?
  • 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帮助。

    例子

    结果输出

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读