用 python 可以实现与交互式命令行程序的交互,并定时获取程序的输出吗?

2015-01-18 11:34:15 +08:00
 intosec
需求是这样的,有一个命令行程序,闭源的,也没有提供任何接口,为了方便远程操作,并简化输入命令行参数的步骤,我需要做一个类似webgui的东西来远程启动进程并定时监控其运行状态(获取命令行的输出)
这个程序在运行时可以接收键盘的命令,比如按下s可以刷新最新状态,按下p可以暂停等等,用Python可以进行这样的交互式操作吗?
如果Python不能实现,用什么方法能实现类似的功能?
3575 次点击
所在节点    Python
7 条回复
richardtsai
2015-01-18 11:40:40 +08:00
subprocess包?
intosec
2015-01-18 11:52:17 +08:00
@richardtsai subprocess可以在程序运行的过程中,实时获取程序的输出吗?因为这个程序执行时间会比较长。
9hills
2015-01-18 12:00:11 +08:00
@intosec 可以
intosec
2015-01-18 12:02:00 +08:00
@9hills 有别的提示吗?
9hills
2015-01-18 12:08:41 +08:00
@intosec popen communicate 放狗搜下
saber000
2015-01-19 11:39:32 +08:00
@9hills 这个真的不可以 放狗搜下
intosec
2015-01-19 15:38:57 +08:00
@9hills
@saber000
问题已解决。
可能是我的问题问得不对。
但是按这个可以满足我的需求: http://code.activestate.com/recipes/440554-module-to-allow-asynchronous-subprocess-use-on-win/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/163163

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX