2011-08-01 90 views
3

我需要perl的帮助。我对它很陌生。 我想从我父母的Perl脚本执行一个Perl脚本,包括以下情形:想要在perl脚本中执行perl脚本

if (my child script takes more time than my time limit) 
{ 
    I need to kill the child script with a return code 
    logged into my parent script log file 
} 

if (my child script failed to execute) 
{ 
    I need to write a new RC to my parent script logfile 
    by looking at my child script exit status 
} 

任何机构可以为此提供类似的代码如何使用fork,exec和工艺相关的命令 获取的进程id孩子什么时候我的父母脚本被执行?

+0

只有父母可以杀死一个孩子。 :D –

回答

1

perlipc(进程间通信)手册页将是一个很好的开始。

+0

perlipc对于初学者来说相当艰巨。不幸的是,我没有其他建议。 – Zaid

+0

分叉不是一个真正的初学者主题。但它非常简单,perlipc页面并不是那么糟糕。 –

0

通常:

fork()返回一个整数,undef如果失败。

您检查整数

  1. 的值,如果它是0,那么你的孩子的时候,你运行你的幼稚的任务。
  2. 如果它不是0,那么你在父母,你有孩子的PID,所以你等待它,或根据需要收获。

在davorg已经提到的perlipc文档中有这种代码的骨架的一个很好的例子。