濮阳杆衣贸易有限公司

主頁 > 知識庫 > perl中使用signal(信號)實例

perl中使用signal(信號)實例

熱門標(biāo)簽:萬利達(dá)百貨商場地圖標(biāo)注 河南虛擬外呼系統(tǒng)公司 惠州龍門400電話要怎么申請 電話機器人哪里有賣 外呼電信系統(tǒng) okcc外呼系統(tǒng)怎么調(diào)速度 熱門電銷機器人 上海企業(yè)外呼系統(tǒng) 智能機器人電銷神器

使用signal,能讓你的程序功能更豐富。要在Linux下列出所有的signal, 利用kill -l即可。 下面是我機器上的輸出(后面還有到64的沒列出來):

復(fù)制代碼 代碼如下:

xuyang@xuyang-desktop:/$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8 ) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS

其中每個signal在這里有介紹.
下面是一個例子,禁止ctrl+c (ctrl+c 會產(chǎn)生一個INT信號給當(dāng)前程序) 來關(guān)閉當(dāng)前程序

復(fù)制代碼 代碼如下:

sub INT_handler {
print("Don't Interrupt!\n");
}

$SIG{'INT'} = 'INT_handler'; #another way is $SIG{'INT'} = \INT_handler ;

for ($x = 0; $x 10; $x++) {
print("$x\n");
sleep 1;
}

其中的%SIG 是perl內(nèi)置的hash,專門用來處理信號的。如果要ignore某個信號,可以寫成

復(fù)制代碼 代碼如下:

$SIG{‘INT'} = ‘IGNORE' ;

要恢復(fù)成缺省的情況,利用
復(fù)制代碼 代碼如下:

$SIG{‘INT'} = ‘DEFAULT' ;

要發(fā)送一個ctrl+c 給某個程序,除了使用ctrl+c 以外,還可以鍵入
復(fù)制代碼 代碼如下:

kill -s INT .

比較有實用價值的是SIGUSR1, SIGUSR2, 這兩個signal是自定義的。你可以在你的程序用用任意方式來處理這兩個信號。而當(dāng)你想要觸發(fā)這個信號的時候,只需要在linux下鍵入
復(fù)制代碼 代碼如下:

kill -s USR1 pid

就可以觸發(fā)這個信號處理程序,你可以在這個信號處理程序中打開和關(guān)閉調(diào)試信息,或者切換工作模式等等。當(dāng)然因為signal是操作系統(tǒng)的功能,所以這里的變成語言不僅僅對perl適用,對其他的語言也適用。只是語法不同而已。

標(biāo)簽:綿陽 綏化 淮安 周口 周口 秦皇島 合肥 百色

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《perl中使用signal(信號)實例》,本文關(guān)鍵詞  perl,中,使用,signal,信號,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《perl中使用signal(信號)實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于perl中使用signal(信號)實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    东辽县| 定日县| 光山县| 曲麻莱县| 洪泽县| 资源县| 清流县| 泗洪县| 突泉县| 安康市| 仁寿县| 吉安县| 财经| 辉县市| 大理市| 兰溪市| 永福县| 友谊县| 盐津县| 上高县| 蒙山县| 丰台区| 婺源县| 云梦县| 东城区| 鄂伦春自治旗| 白朗县| 息烽县| 佛坪县| 墨江| 景谷| 阿勒泰市| 永胜县| 大足县| 夹江县| 江西省| 三江| 萍乡市| 光山县| 夏河县| 轮台县|