取消python脚本,同时接收数据

时间:2017-09-25 08:48:36

标签: python-2.7 keyboardinterrupt

我已经用Python在Python中编写了一些代码,并且有两个按钮(BtnStartBtnShutdown)。点击BtnStart传感器永久地接收数据,然后脚本绘制它。当脚本正在执行时,我想点击BtnShutdown,脚本应该结束。我不在乎清理,我会在情节上看到我的数据。数据通过Arduino Nano的USB端口接收。我在Pi上使用Python 2.7和Jessie。

这是我的问题:

单击BtnShutdown时,脚本无法自行关闭。要关闭它,我必须执行^C,然后点击BtnShutdown。但那不是我想要的。 我搜索了一些关于Interrupts的内容,但我只发现了GPIO端口的东西,我不认为我使用它们(基本脚本不是我的,我只是编辑它)。或者有没有办法让ShutdownGTM的陈述比其他任何东西都重要?

任何暗示都会受到赞赏。

当然,有些代码:

def ShutdownGTM(self):
    print "Shutdown"
    picamera.PiCamera().close()   
    sid = os.getpid()                                              
    p = psutil.Process(sid)
    p.terminate()

def StartGTM(self):
    s = serial.Serial("/dev/ttyUSB0", 9600)
    s.isOpen()
    time.sleep(5)
    measureanddostuff()

1 个答案:

答案 0 :(得分:0)

我想我找到了答案。您应该在sys.exit中尝试ShutdownGTM