中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Perl信號(hào)處理學(xué)習(xí)簡(jiǎn)單小結(jié)
來(lái)源:易賢網(wǎng) 閱讀:1091 次 日期:2014-09-25 11:59:19
溫馨提示:易賢網(wǎng)小編為您整理了“Perl信號(hào)處理學(xué)習(xí)簡(jiǎn)單小結(jié)”,方便廣大網(wǎng)友查閱!

Unix 下常見(jiàn)的處理信號(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;

}

如果eval塊中的程序有語(yǔ)法錯(cuò)誤、運(yùn)行時(shí)錯(cuò)誤或者遇到die語(yǔ)句,eval將返回undef。錯(cuò)誤碼被保存在$@中。

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:Perl信號(hào)處理學(xué)習(xí)簡(jiǎn)單小結(jié)
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
主站蜘蛛池模板: 合江县| 巢湖市| 新蔡县| 利辛县| 天等县| 曲阳县| 赤峰市| 阳山县| 夏邑县| 松潘县| 班玛县| 积石山| 揭阳市| 洞头县| 古交市| 阿城市| 遵化市| 广宗县| 高雄市| 芮城县| 云南省| 湖南省| 高台县| 黑山县| 彭山县| 孟津县| 新河县| 新安县| 石嘴山市| 花垣县| 宜州市| 无极县| 贞丰县| 扬中市| 蓬溪县| 凯里市| 乃东县| 津市市| 龙江县| 西华县| 惠水县|