最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

perl中使用signal(信號)實例

 更新時間:2015年05月08日 11:40:54   投稿:junjie  
這篇文章主要介紹了perl中使用signal(信號)實例,本文講解了信號的相關知識以,并給出了perl代碼實例,需要的朋友可以參考下

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

復制代碼 代碼如下:

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 會產生一個INT信號給當前程序) 來關閉當前程序

復制代碼 代碼如下:

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內置的hash,專門用來處理信號的。如果要ignore某個信號,可以寫成

復制代碼 代碼如下:

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

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

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

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

kill -s INT .

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

kill -s USR1 pid

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

相關文章

最新評論

安仁县| 溧阳市| 蒲城县| 扎赉特旗| 疏附县| 辛集市| 张家川| 扎赉特旗| 忻城县| 湖州市| 嘉祥县| 阿拉善右旗| 贵溪市| 阳曲县| 尚义县| 封开县| 临夏县| 大邑县| 台州市| 西平县| 荔波县| 北流市| 东城区| 张掖市| 普兰店市| 商都县| 赤城县| 中方县| 绍兴市| 略阳县| 双江| 建始县| 东台市| 海南省| 德清县| 峡江县| 元谋县| 四子王旗| 竹北市| 汤原县| 铁岭县|