Linux中國
Linux 有問必答:如何在Perl中捕捉並處理信號
在Perl中,信號可以被捕獲,並由一個全局的%SIG哈希變數指定處理函數。這個%SIG哈希變數的鍵名是信號值,鍵值是對應的信號處理程序的引用。因此,如果你想為特定的信號定義自己的信號處理程序,你可以直接在%SIG中設置信號的哈希值。
下面是一個代碼段來處理使用自定義信號處理程序中斷(INT)和終止(TERM)的信號。
$SIG{INT} = &signal_handler;
$SIG{TERM} = &signal_handler;
sub signal_handler {
print "This is a custom signal handlern";
die "Caught a signal $!";
}
%SIG其他的可用的鍵值有'IGNORE'和'DEFAULT'。當所指定的鍵值是'IGNORE'(例如,$SIG{CHLD}='IGNORE')時,相應的信號將被忽略。指定'DEFAULT'的鍵值(例如,$SIG{HUP}='DEFAULT'),意味著我們將使用一個(系統)默認的信號處理程序。
via: http://ask.xmodulo.com/catch-handle-interrupt-signal-perl.html
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!