麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Perl > 正文

教你如何在perl中使用signal

2020-02-23 19:44:28
字體:
來源:轉載
供稿:網友

我們在perl編程中使用signal可以讓我們的程序功能變得更豐富,但是仍有許多小伙伴們不知道如何使用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' ;


要發送一個ctrl+c 給某個程序,除了使用ctrl+c 以外,還可以鍵入

?

?

?


kill -s INT .


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

?

?

?


kill -s USR1 pid


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

上文中小編教你如何在perl中使用signal,其實signal功能有很多,咱只學最最實用的。如果你也有同樣的小技巧,就拿出來大家一起分享吧

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产日韩在线观看一区 | 一级黄色片武则天 | 国产资源在线观看视频 | 男女无套免费视频 | 一级一级一级一级毛片 | 久久久国产一区二区三区 | 久久蜜臀一区二区三区av | 天天鲁在线视频免费观看 | 亚洲午夜1000理论片aa | 国产一区二区二 | 久久爽精品区穿丝袜 | av免费在线播放网址 | 精品久久久av | 精国品产一区二区三区有限公司 | 国产精品视频导航 | av电影免费播放 | 女人裸体让男人桶全过程 | 99在线热播精品免费 | 一本一道久久久a久久久精品91 | 国产精品视频成人 | 羞羞视频2023 | 色婷婷一区二区三区 | 国产欧美精品一区二区三区四区 | 鲁丝片一区二区三区免费入口 | 欧美爱爱视频 | 主播粉嫩国产在线精品 | 一级黄色影院 | 中文有码一区二区 | 久久久久久久久久亚洲精品 | 欧美日韩中文字幕在线视频 | 91久久久久久 | 激情黄页 | 最新中文字幕在线视频 | 国产午夜精品一区二区三区在线观看 | 久久国产中文 | 亚洲成人激情在线 | 欧美一级免费看 | 国产精品一区在线免费观看 | 久久精品欧美一区二区 | 成人偷拍片视频在线观看 | 精品一区在线视频 |