成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

Python信號模塊signal的簡單使用

在Unix系統(tǒng)的多進(jìn)程程序中,Python信號模塊signal起著重要的作用。然而,由于內(nèi)核原因,Windows對信號模塊的支持并不理想。因此,本文將基于Ubuntu系統(tǒng),通過一個簡單案例來講解Pyt

在Unix系統(tǒng)的多進(jìn)程程序中,Python信號模塊signal起著重要的作用。然而,由于內(nèi)核原因,Windows對信號模塊的支持并不理想。因此,本文將基于Ubuntu系統(tǒng),通過一個簡單案例來講解Python信號模塊signal的使用。

查看所有信號

首先,我們需要打開Ubuntu虛擬機,并在終端輸入命令kill -l來查看所有信號。以下是顯示結(jié)果:

``` 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 34) SIGRTMIN 35) SIGRTMIN 1 36) SIGRTMIN 2 37) SIGRTMIN 3 38) SIGRTMIN 4 39) SIGRTMIN 5 40) SIGRTMIN 6 41) SIGRTMIN 7 42) SIGRTMIN 8 43) SIGRTMIN 9 44) SIGRTMIN 10 45) SIGRTMIN 11 46) SIGRTMIN 12 47) SIGRTMIN 13 48) SIGRTMIN 14 49) SIGRTMIN 15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX ```

編寫信號處理函數(shù)

接下來,我們使用vi命令創(chuàng)建一個名為的文件,并在其中編寫以下代碼:

```python import signal import time def Handler(signum, frame): print("kill message") (, Handler) (4) print('game over') ```

這段代碼首先導(dǎo)入了信號模塊signal,然后定義了一個處理函數(shù)Handler。接著,我們注冊了處理函數(shù)與終端停止符對應(yīng)的信號SIGTSTP。最后,程序暫停了4秒鐘,然后打印出了"game over"。

運行代碼并中止程序

在終端中運行代碼,當(dāng)代碼運行時按下電腦的CTRL Z組合鍵,即可中止程序。結(jié)果如下圖所示:

``` $ python3 ^Z kill message ```

從輸出結(jié)果可以看出,成功打印出了"kill message",說明信號被正確地收到并處理。

等待信號

我們還可以使用(4)替換為(),讓進(jìn)程暫停等待信號的到來。

定時發(fā)送信號

此外,我們還可以修改中的代碼,實現(xiàn)定時發(fā)送信號的功能。具體代碼如下:

```python import signal def Handler(signum, frame): print("Now, it's the time") exit() (, Handler) (5) while True: pass ```

這段代碼使用(5)來決定在5秒后發(fā)送信號SIGALRM。而Handler函數(shù)會在收到該信號后打印出"Now, it's the time"并退出程序。

接收到定時信號

在終端中運行代碼后,等待5秒鐘,我們將收到定時信號:

``` $ python3 Now, it's the time ```

以上就是Python信號模塊signal的簡單使用方法。通過本文所講解的案例,相信你對Python信號模塊的基本使用有了更深入的了解。

標(biāo)簽: