zoukankan      html  css  js  c++  java
  • Python Signal(信号) 异步系统事件

    参考: https://blog.csdn.net/liangguohuan/article/details/7099978

    常用信号

    SIGINT 终止进程 中断进程 (control+c)

    SIGTERM 终止进程 软件终止信号 (kill pid)

    SIGKILL 终止进程 杀死进程

    SIGALRM 闹钟信号

    查看所有信号

    >>> import signal
    
    >>> dir(signal)
    
    ['NSIG', 'SIGABRT', 'SIGALRM', 'SIGBUS', 'SIGCHLD', 'SIGCLD', 'SIGCONT', 'SIGFPE', 'SIGHUP', 'SIGILL', 'SIGINT', 'SIGIO', 'SIGIOT', 'SIGKILL', 'SIGPIPE', 'SIGPOLL', 'SIGPROF', 'SIGPWR', 'SIGQUIT', 'SIGRTMAX', 'SIGRTMIN', 'SIGSEGV', 'SIGSTOP', 'SIGSYS', 'SIGTERM', 'SIGTRAP', 'SIGTSTP', 'SIGTTIN', 'SIGTTOU', 'SIGURG', 'SIGUSR1', 'SIGUSR2', 'SIGVTALRM', 'SIGWINCH', 'SIGXCPU', 'SIGXFSZ', 'SIG_DFL', 'SIG_IGN', '__doc__', '__name__', 'alarm', 'default_int_handler', 'getsignal', 'pause', 'signal']
    
    

    例子:

    
    import os  
    import signal  
    from time import sleep  
       
    def onsignal_term(a,b):  
        print('收到SIGTERM信号')
       
    #这里是绑定信号处理函数,将SIGTERM绑定在函数onsignal_term上面  
    signal.signal(signal.SIGTERM,onsignal_term)  
       
    def onsignal_usr1(a,b):  
        print('收到SIGUSR1信号')
    
    
    signal.signal(signal.SIGUSR1,onsignal_usr1)  
    
    def onsignal_int(a,b):  
        print('收到SIGUSR1信号')
    #这里是绑定信号处理函数,将SIGUSR1绑定在函数onsignal_term上面  
    signal.signal(signal.SIGINT,onsignal_int)  
       
    while 1:  
        print('我的进程id是',os.getpid())
        sleep(10)
    
    
    
  • 相关阅读:
    Codeforces 543E. Listening to Music
    UOJ #138. 【UER #3】开学前的涂鸦
    bzoj 3569: DZY Loves Chinese II
    bzoj 2428: [HAOI2006]均分数据
    bzoj 4589: Hard Nim
    UOJ #119. 【UR #8】决战圆锥曲线
    spoj5973
    codeforces555E
    poj1275
    bzoj4152
  • 原文地址:https://www.cnblogs.com/JohnRain/p/10549198.html
Copyright © 2011-2022 走看看