亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Perl信號處理學習簡單小結

 更新時間:2014年09月17日 10:49:17   作者:鄉(xiāng)村運維  
這篇文章主要介紹了Perl信號處理學習簡單小結,本文著重列出了Unix下常見的處理信號表,需要的朋友可以參考下

Unix 下常見的處理信號

復制代碼 代碼如下:

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的信號處理原理

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

舉個SIGALRM例子,也就是超時處理:

復制代碼 代碼如下:

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

這里要說一下perl的錯誤捕獲機制

復制代碼 代碼如下:

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

捕獲異常
復制代碼 代碼如下:

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

}
close FH;
}

如果eval塊中的程序有語法錯誤、運行時錯誤或者遇到die語句,eval將返回undef。錯誤碼被保存在$@中。

相關文章

  • perl 采集入庫腳本分享

    perl 采集入庫腳本分享

    這篇文章主要介紹了perl 采集入庫腳本分享,本文是以前自己用的腳本,使用的Mysql數(shù)據(jù)庫,需要的朋友可以參考下
    2014-09-09
  • perl中heredoc使用說明

    perl中heredoc使用說明

    在成塊打印文本的時候特別有用,需要的朋友可以參考下
    2013-02-02
  • perl AnyEvent簡單介紹和入門知識

    perl AnyEvent簡單介紹和入門知識

    這篇文章主要介紹了perl AnyEvent簡單介紹和入門知識,AnyEvent 是一個性能非常好的基于事件驅動的框架,需要的朋友可以參考下
    2014-09-09
  • 講Perl中的本地時間與UNIX時間戳間相互轉換的方法

    講Perl中的本地時間與UNIX時間戳間相互轉換的方法

    這篇文章主要介紹了講Perl中的本地時間與UNIX時間戳間相互轉換的方法,主要用到了Perl中的Date::Parse模塊,需要的朋友可以參考下
    2015-06-06
  • perl對長度不一文本的行列進行置換的實現(xiàn)代碼

    perl對長度不一文本的行列進行置換的實現(xiàn)代碼

    處理生物數(shù)據(jù)時,常常需要行列置換,這在R里面異常的簡單容易,一個t()就解決了
    2013-02-02
  • perl數(shù)據(jù)庫添加、刪除、更新、查詢操作例子

    perl數(shù)據(jù)庫添加、刪除、更新、查詢操作例子

    這篇文章主要介紹了perl數(shù)據(jù)庫添加、刪除、更新、查詢操作例子,本文直接給出操作代碼,需要的朋友可以參考下
    2014-08-08
  • Perl學習筆記之文件操作

    Perl學習筆記之文件操作

    這篇文章主要介紹了Perl學習筆記之文件操作,本文分別給出了打開文件、讀取文件、寫入文件代碼實例,需要的朋友可以參考下
    2015-06-06
  • Perl5 OOP學習筆記

    Perl5 OOP學習筆記

    在Perl排名持續(xù)下降的情況下學Perl,似乎是有點不明智。但是,工作需要,不得不學啊。再說,Perl現(xiàn)在在測試領域還是用得非常多的。Phython雖然也在測試領域開始活躍起來,不過我始終還是不太喜歡Phython的語法。
    2009-04-04
  • 如何使用perl的Tie::File?模塊刪除文件固定行

    如何使用perl的Tie::File?模塊刪除文件固定行

    使用perl的Tie::File?模塊刪除文件固定行,?這里的處理主要利用了perl的Tie::File?模塊把數(shù)組和文件綁定,然后就可以使用perl的splice函數(shù)操作數(shù)組,從而達到操作文件的目的,對perl刪除文件固定行感興趣的朋友跟隨小編一起看看吧
    2023-12-12
  • Perl字符串處理函數(shù)大全

    Perl字符串處理函數(shù)大全

    本文重點討論Perl字符串處理函數(shù)的用法,每種函數(shù)都有各自的特點和作用,需要的朋友可以參考下
    2017-09-09

最新評論