我从canutils
获得了一个名为candump
的命令行实用程序。它是这样工作的:
我运行candump(指定我想要转储的总线)
root@beaglebone: candump can0
然后运行,直到我使用CTRL+C
但是,当我像这样在python脚本中运行它时。
Popen(["candump","can0"],stdout=PIPE)
或
call(["candump","can0"])
我不知道如何结束它。什么好主意吗?
如果您想控制子进程,请不要使用use call命令
如果你像上面那样使用Popen,你应该像这样给它分配一个变量:
p = Popen(["candump","can0"],stdout=PIPE)
一旦有了p,就可以在上面使用下面的SIGNAL命令之一http://docs.python.org/2/library/subprocess.html subprocess.Popen.send_signal
使用Popen()
,在返回的Popen
对象上调用send_signal(signal.SIGINT)