[問題] 如何讓特定程式只執行一段時間?

看板Perl作者 (把我id還我阿......)時間18年前 (2007/08/22 18:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
-------------------------------------------- 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)
文章代碼(AID): #16p0w0qT (Perl)
文章代碼(AID): #16p0w0qT (Perl)