作者roylee17 (把我id还我阿......)
看板perl
标题[问题] 如何让特定程式只执行一段时间?
时间Wed Aug 22 18:22:55 2007
--------------------------------------------
run();
run();
run();
sub run{
if( !fork()){ # child
alarm 300;
system( "$cmd");
}
wait;
}
------------------------------------------
主程式唤起 run() 三次,每次执行 cmd 300 秒
其中 cmd 是一个持续执行的程式,除非被中断
而同一时间,最多只能有一个 cmd 在执行
原本的想法是在 child process 中引起 alarm
不去处理这个 signal,让 child process 自己终止
问题在於, child 执行 system 时,又另外开了一个 process
而 child 被中止後, cmd 却还继续执行
使得第二个 run 开始後,就有两个 cmd 同时执行了
请问有什麽方法可以达到我的目的?
例如,能否取得 system 所开的 process 之 id?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.37.141
※ 编辑: roylee17 来自: 59.104.37.141 (08/22 18:25)