首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python终止linux命令行实用程序

从python终止linux命令行实用程序
EN

Stack Overflow用户
提问于 2013-03-07 06:53:12
回答 2查看 352关注 0票数 2

我从canutils得到了一个名为candump的命令行实用程序。它是这样工作的:

我运行candump (指定我想要转储的总线)

代码语言:javascript
复制
root@beaglebone: candump can0

然后它会一直运行,直到我使用CTRL+C结束它

但是,当我在python脚本中运行它时,如下所示。

代码语言:javascript
复制
Popen(["candump","can0"],stdout=PIPE)

代码语言:javascript
复制
call(["candump","can0"])

我不知道该怎么结束它。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-07 06:59:20

如果希望控制子流程,请不要使用call命令

如果你像上面那样使用Popen,你应该将它赋值给一个变量,如下所示:

代码语言:javascript
复制
p = Popen(["candump","can0"],stdout=PIPE)

一旦你有了p,你就可以在它上面使用下面的http://docs.python.org/2/library/subprocess.html#subprocess.Popen.send_signal命令

票数 3
EN

Stack Overflow用户

发布于 2013-03-07 06:59:16

使用Popen(),对返回的Popen对象调用send_signal(signal.SIGINT)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15259777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档