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

首頁 > 編程 > Perl > 正文

perl中使用signal(信號)實例

2020-10-31 14:51:38
字體:
來源:轉載
供稿:網友

使用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適用,對其他的語言也適用。只是語法不同而已。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲国产高清自拍 | 一区二区三区四区视频在线观看 | 成人免费入口 | 久久久成人动漫 | 亚洲精品无码不卡在线播放he | 一二区成人影院电影网 | sese综合 | 涩涩激情网 | 欧美国产成人在线 | 黄污免费网站 | 欧美精品一区二区性色 | 亚洲成人免费电影 | 久草在线高清视频 | 亚洲99| 毛片在线免费观看网址 | 中文字幕涩涩久久乱小说 | 欧美1区2区在线观看 | 日本欧美一区二区三区视频麻豆 | 成人在线视频免费观看 | 国产大片全部免费看 | 欧美a级一区二区 | 国产一区二区精品91 | 久久精品久久精品久久精品 | 少妇的肉体的满足毛片 | 老女人碰碰在线碰碰视频 | 国产精品免费看 | 1314成人网 | 久久国产午夜 | 亚洲国产精品久久久久 | a免费看| 99r国产精品 | 日韩黄在线 | 看一级大毛片 | 九九热免费精品 | 国产精品色综合 | 大学生a级毛片免费视频 | 国产午夜小视频 | 一级在线观看 | 黄污免费网站 | 国产福利视频在线观看 | 天天草天天爱 |