[python]signal

2019-06-07  本文已影响0人  VanJordan
def spawn_visdom():
    try:
        subprocess.run(["visdom  > visdom.txt 2>&1 &"], shell=True)
    except:
        print("Visdom is already running...")

    def signal_handler(signal, frame):
        subprocess.run(["pkill visdom"], shell=True)
        print("Killing Visdom server...")
        sys.exit(0)

    signal.signal(signal.SIGINT, signal_handler)
import signal, os

# 定义一个信号处理函数,该函数打印收到的信号,然后raise IOError
def handler(signum, frame):
    print 'Signal handler called with signal', signum
    raise IOError("Couldn't open device!")

# 对SIGALRM(终止)设置处理的handler, 然后设置定时器,5秒后触发SIGALRM信号
signal.signal(signal.SIGALRM, handler)
signal.alarm(5)

# This open() may hang indefinitely
fd = os.open('/dev/ttyS0', os.O_RDWR)
signal.alarm(0)          # 关闭定时器
上一篇 下一篇

猜你喜欢

热点阅读