从python终止Linux命令行实用程序



我从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)

最新更新