perl的进程管理简介

来源:岁月联盟 编辑:zhu 时间:2009-03-02

  当你向系统shell发送一个命令行时,shell创建一个进程来执行这个命令。这个新进程成为shell的子进程,它的执行不依赖于shell但又与shell相互协调。

  同样,Perl程序也能启动新进程。

  使用system()和exec()

  生成新进程的最简单的方法就是用system操作符。如:

  system("date");

  若要将输出送至now_day文件,则可以:

  system("date>now_day") ||die "不能建立now_day文件";

  使用单引号

  产生进程的另一方法是将shell命令置于两个单引号之间。如:

  $nowday="现在时间:".'date'

  $nowday的值为“现在时间:”和date命令的结果的连接。即:"现在时间:Fri Feb 18 23:49:23 PDT 1998"

  综合范例

  举一个综合例子,要求从date的输入中分析,周未时打印"周未了,别太辛苦",否则打印"好好工作"。简洁的写法为:

  if('date'=~/^S/){
  printf "网上学园欢迎您,周未了,别太辛苦";
  } else {
  printf "好好工作n"
  }

  date的输出格式第一个字节为星期,英语中恰好只有周未为"S"打头,因此使用了常规表达式判断第一个字符是否为S,即可达到要求。