2011-08-01 138 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文檔中有這種代碼的骨架的一個很好的例子。