常用的信号值如下:

信号值                    事件                                        处理方式
SIGHUP                    终止进程                                    终端线路挂断
SIGINT                    终止进程                                    中断进程
SIGQUIT                    "建立CORE文件终止进程,并且生成core文件"    
SIGILL                    建立CORE文件                                非法指令
SIGTRAP                    建立CORE文件                                跟踪自陷
SIGBUS                    建立CORE文件                                总线错误
SIGSEGV                    建立CORE文件                                段非法错误
SIGFPE                    建立CORE文件                                浮点异常
SIGIOT                    建立CORE文件                                执行I/O自陷
SIGKILL                    终止进程                                    杀死进程
SIGPIPE                    终止进程                                    向一个没有读进程的管道写数据
SIGALARM                终止进程                                    计时器到时
SIGTERM                    终止进程                                    软件终止信号
SIGSTOP                    停止进程                                    非终端来的停止信号
SIGTSTP                    停止进程                                    终端来的停止信号
SIGCONT                    忽略信号                                    继续执行一个停止的进程
SIGURG                    忽略信号                                    I/O紧急信号
SIGIO                    忽略信号                                    描述符上可以进行I/O
SIGCHLD                    忽略信号                                    当子进程停止或退出时通知父进程
SIGTTOU                    停止进程                                    后台进程写终端
SIGTTIN                    停止进程                                    后台进程读终端
SIGXGPU                    终止进程                                    CPU时限超时
SIGXFSZ                    终止进程                                    文件长度过长
SIGWINCH                忽略信号                                    窗口大小发生变化
SIGPROF                    终止进程                                    统计分布图用计时器到时
SIGUSR1                    终止进程                                    用户定义信号1
SIGUSR2                    终止进程                                    用户定义信号2
SIGVTALRM                终止进程                                    虚拟计时器到时

 1、接收信号绑定处理对应的事件

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import signal
import os
import time

def receive_signal(signum, stack):
    """用于接收信号,对signum的值区分信号,实现不同的信号做对应的处理"""
    print('接收的signum', signum)

#注册处理信号的事件,此处对用户定义信号1、用户定义信号2,绑定事件
signal.signal(signal.SIGUSR1, receive_signal)
signal.signal(signal.SIGUSR2, receive_signal)

print('我的PID: %s' % os.getpid())

#开启循环监听信号
while True:
    print('Waiting...')
    time.sleep(3)
signal_signal.py

相关文章:

  • 2022-12-23
  • 2021-12-06
  • 2021-06-25
  • 2021-06-02
  • 2021-06-09
  • 2021-12-14
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-21
  • 2021-11-20
  • 2021-10-27
  • 2022-12-23
相关资源
相似解决方案