看板 Perl 關於我們 聯絡資訊
※ 引述《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: 210.242.135.97
saiamoi:分號的部分是我的疏忽啦 程式裡面是有分號的 04/28 23:50
saiamoi:關於你說的方式 只要加個for 就不會因為nc結束而 04/28 23:51
saiamoi:使得perl也跟著關掉嗎? 我會用來試試看 謝謝 04/28 23:52
saiamoi:不好意思可以順便請教一下原因嗎? 為什麼加個for就不會 04/28 23:54
saiamoi:因為nc結束而跟著結束呢? 謝謝你 04/28 23:54
erspicu:應該就是無線迴圈的意思 也可以用 while(1){ .... }一樣 04/29 02:39
erspicu:只是這樣CPU資源會不會被占據得太兇阿? 應該要開thread 04/29 02:40
kdjf:不會啊,程式會block在等網路資料 04/30 15:42