Python 有没有办法暂停 subprocess??

2020-04-11 00:47:28 +08:00
 black11black

题目可能有点令人产生误解,具体来说是想暂停 pipe,不是子进程。

众所周知是比如视频压制类的工具,比如在命令行界面,把裸流( YUV420P10LE ) pipe 进 ffmpeg 编码器,这时候如果按键盘上的“pause”键,就可以暂停整个进程。我个人推测是由于暂停了 pipe,所以 ffmpeg 停下了。

这种控制有办法“编程式”地实现吗?一个想法是,如果可以的话是不是就可以控制系统比如闲时执行某些 pipe 任务,忙时就暂停?

1358 次点击
所在节点    问与答
4 条回复
Erroad
2020-04-11 01:12:55 +08:00
将 subprocess 创建的子进程的 stdin 接到一个管道,然后通过向管道写入内容控制子进程?不知道是不是这个意思
klesh
2020-04-11 01:14:10 +08:00
pipe ?不往里面写东西又不关闭不就暂停了吗?
ysc3839
2020-04-11 01:53:47 +08:00
Pause 暂停的功能可能是 TTY 才有的,Pipe 没有。你可以使用对应操作系统的方法来暂停进程,比如 Unix 下面发送 SIGSTOP 。
black11black
2020-04-11 03:11:20 +08:00
@ysc3839 这样吗,以前倒是用过一些伪造 tty 的项目,没有关注这方面,大概是没有吧。最近上了台新的 winserver,想搞 win 平台的

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

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

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

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

© 2021 V2EX