看板 Perl 關於我們 聯絡資訊
先謝謝各位的回覆以及推文的回覆 我想請問一下 用DarkKiller大所提到的方法 (類似while迴圈?) 會很耗CPU等系統資源嗎? 並可以使得linux nc結束後而perl不會關閉嗎? (不好意思這部分還沒有試過) 那假如我另外寫一支perl的程式 用來當作client端 取代之前用linux nc 的方式 這樣當這支client端程式送出我要的指令後關閉 也會導致原本的server端的perl關閉嗎? 這部分我還沒有試過 只是一個想法 想問問各位這樣的可行性如何呢? 謝謝各位 ※ 引述《DarkKiller (System hacked)》之銘言: : ※ 引述《saiamoi (saiamoi)》之銘言: : for (;;) { : : my $get = $sock->accept() : 少了一個分號? : : while($get) : : { : : if (/cmd/) : : { : : 要做的事; : : } : : } : } : : ------------------------------------------------------------ : : 執行該perl程式後 1234的port會打開並進行等待 : : 接著我從另一邊使用linux 的nc 指令 : : 執行 nc pc77 12345 : : 然後輸入"cmd" 使剛剛等待中的perl執行 "要做的事" : : 到目前為止都很順利 可以順利執行 "要做的事" : : 但接著當我用^C 關掉linux 的nc後 : : perl 那邊也就一起關掉了... : : 我希望的是 perl一旦開啟後 就一直在有process 活在那邊 : : 一直等待我從外部給指令 然後做事 做完後又繼續等 直到我把perl關掉為止 : : 請問這樣有辦法做到嗎? : : 或是哪邊需要做修改呢? : : 先謝謝各位了! 感謝! : 最簡單的方式就是加這兩行... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.12.69.77 ※ 編輯: saiamoi 來自: 124.12.69.77 (04/29 23:31)
roggerbass:以這個想法作基礎 用fork child去開port 05/06 00:40
roggerbass:parent 等child死就自動再fork another child 開 port 05/06 00:41
roggerbass:壞處是 socket會有短暫斷線 05/06 00:41
saiamoi:嗯,謝謝,這幾天以這樣的方法正在測,似乎有r大說的情況 05/06 19:03
saiamoi:但是目前可以接受這樣的結果。謝謝各位 05/06 19:05