a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > Perl > 正文

總結(jié)處理Perl信號(hào)的學(xué)習(xí)方法

2020-02-23 19:45:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

程序腳本總是遇到這樣那樣的問題,我們預(yù)測(cè)了一些問題,并為它們處理代碼做準(zhǔn)備,而有些問題是不可預(yù)測(cè)的,今天就讓武林技術(shù)頻道小編帶大家進(jìn)入下文總結(jié)處理Perl信號(hào)的學(xué)習(xí)方法。

Unix 下常見的處理信號(hào)

?

?

No??? Name???????? Default Action?????? Description
?1???? SIGHUP?????? terminate process??? terminal line hangup
?2???? SIGINT?????? terminate process??? interrupt program
?3???? SIGQUIT????? create core image??? quit program
?4???? SIGILL?????? create core image??? illegal instruction
?5???? SIGTRAP????? create core image??? trace trap
?6???? SIGABRT????? create core image??? abort program (formerly SIGIOT)
?7???? SIGEMT?????? create core image??? emulate instruction executed
?8???? SIGFPE?????? create core image??? floating-point exception
?9???? SIGKILL????? terminate process??? kill program
?10??? SIGBUS?????? create core image??? bus error
?11??? SIGSEGV????? create core image??? segmentation violation
?12??? SIGSYS?????? create core image??? non-existent system call invoked
?13??? SIGPIPE????? terminate process??? write on a pipe with no reader
?14??? SIGALRM????? terminate process??? real-time timer expired
?15??? SIGTERM????? terminate process??? software termination signal
?16??? SIGURG?????? discard signal?????? urgent condition present on socket
?17??? SIGSTOP????? stop process???????? stop (cannot be caught or ignored)
?18??? SIGTSTP????? stop process???????? stop signal generated from keyboard
?19??? SIGCONT????? discard signal?????? continue after stop
?20??? SIGCHLD????? discard signal?????? child status has changed
?21??? SIGTTIN????? stop process???????? background read attempted from control terminal
?22??? SIGTTOU????? stop process???????? background write attempted to control terminal
?23??? SIGIO??????? discard signal?????? I/O is possible on a descriptor (see fcntl(2))
?24??? SIGXCPU????? terminate process??? cpu time limit exceeded (see setrlimit(2))
?25??? SIGXFSZ????? terminate process??? file size limit exceeded (see setrlimit(2))
?26??? SIGVTALRM??? terminate process??? virtual time alarm (see setitimer(2))
?27??? SIGPROF????? terminate process??? profiling timer alarm (see setitimer(2))
?28??? SIGWINCH???? discard signal?????? Window size change
?29??? SIGINFO????? discard signal?????? status request from keyboard
?30??? SIGUSR1????? terminate process??? User defined signal 1
?31??? SIGUSR2????? terminate process??? User defined signal 2

?

perl的信號(hào)處理原理

Perl 提供了%SIG 這個(gè)特殊的默認(rèn)HASH.調(diào)用需要使用到系統(tǒng)保留全局HASH數(shù)組%SIG,即使 用'$SIG{信號(hào)名}'截取信號(hào),相當(dāng)于,在perl程序中出現(xiàn)這個(gè)信號(hào)時(shí),執(zhí)行我們自己定義某段代碼(子函數(shù))的地址值(定義信號(hào)響應(yīng)函數(shù)),這代碼就是截取這個(gè)信息后要執(zhí)行的結(jié)果了.

舉個(gè)SIGALRM例子,也就是超時(shí)處理:

?

?

my $timeout = 10 ;
??? eval {
??????? local $SIG{ALRM} = sub { die "alarm/n" }; # /n required
??????? alarm $timeout; #如果到了$timeout時(shí)間就會(huì)去執(zhí)行上面的sub
??????? sleep 15;
??????? print " if timeout ,this will not print";
??????? alarm 0; #恢復(fù)到默認(rèn)的狀態(tài)
??? };
??? if ($@) {
??????? die? unless $@ eq "alarm/n";?? #可能捕獲的不是超時(shí),是其他錯(cuò)誤,就die吧
??????? print "timeout /n" ;
??? }
??? else {
??????? print "not timeout";
??? }

?

這里要說(shuō)一下perl的錯(cuò)誤捕獲機(jī)制

?

?

eval {
open(FH,”domains.txt”) or die “Can't open files,$!”;
};


捕獲異常

?

?

?


if($@){#出現(xiàn)異常}
else{#無(wú)異常,打印文件內(nèi)容
while(){

}
close FH;
}

以上就是關(guān)于總結(jié)處理Perl信號(hào)的學(xué)習(xí)方法介紹。今天的分享就到這兒了,希望想學(xué)習(xí)的朋友。通過上面的學(xué)習(xí)希望可以幫助到大家,同時(shí)感謝大家對(duì)武林技術(shù)頻道的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 日韩成人免费 | 国产一区二区三区久久久久久 | 仙人掌旅馆在线观看 | 欧美精品激情 | 天天天插 | 欧美日一区二区 | 99爱爱视频| 综合久久综合久久 | 在线播放国产一区二区三区 | 中文字幕 亚洲一区 | 一级黄色录像免费观看 | 91av国产视频| 欧洲成人在线观看 | 日本色站 | 久久精品99国产精品日本 | 成人av观看| 亚洲一区高清 | 亚洲精品一二区 | 自拍视频网 | 91免费看| 精品久久久久久久久久久久久久 | a级性视频 | 日韩不卡av| 91福利电影在线观看 | 中文字幕在线一区二区三区 | 欧美日韩中文国产一区发布 | 美女视频一区二区三区 | 国产一区二区在线看 | 免费看黄色的网址 | 黄色片在线免费播放 | 色综合免费视频 | 欧美日韩第一页 | 亚洲精品免费观看 | 免费国产视频在线观看 | 欧美性猛交一区二区三区精品 | 午夜爱视频 | 91精品国产欧美一区二区 | 三区在线 | 精品无码久久久久久国产 | 亚洲视频在线看 | 韩国精品一区二区 |