我从canutils得到了一个名为candump的命令行实用程序。它是这样工作的:
我运行candump (指定我想要转储的总线)
root@beaglebone: candump can0然后它会一直运行,直到我使用CTRL+C结束它
但是,当我在python脚本中运行它时,如下所示。
Popen(["candump","can0"],stdout=PIPE)或
call(["candump","can0"])我不知道该怎么结束它。有什么想法吗?
发布于 2013-03-07 06:59:20
如果希望控制子流程,请不要使用call命令
如果你像上面那样使用Popen,你应该将它赋值给一个变量,如下所示:
p = Popen(["candump","can0"],stdout=PIPE)一旦你有了p,你就可以在它上面使用下面的http://docs.python.org/2/library/subprocess.html#subprocess.Popen.send_signal命令
发布于 2013-03-07 06:59:16
使用Popen(),对返回的Popen对象调用send_signal(signal.SIGINT)。
https://stackoverflow.com/questions/15259777
复制相似问题