【问题标题】:How do I terminate my subprocesses in Python [duplicate]如何在 Python 中终止我的子进程 [重复]
【发布时间】:2015-07-16 23:43:52
【问题描述】:

如下所示,我有两个子流程

cmd1='arecord -d 0 -f cd -t wav test.wav'
cmd2='raspivid -o video.h264 -fps 25 -t 0'

pro1 = subprocess.Popen(cmd1, shell=True)
pro2 = subprocess.Popen(cmd2, shell=True)

我想用树莓派同时录制音频和视频。从现在开始,我可以启动这两个程序,但我不能停止这些程序。有人可以帮帮我吗?

或者有什么想法可以通过简单的方式完成这个过程?

【问题讨论】:

    标签: python raspberry-pi subprocess


    【解决方案1】:

    来自文档:

    Popen.terminate() 停止孩子。在 Posix 操作系统上,该方法发送 SIGTERM 给孩子。在 Windows 上,Win32 API 函数 调用 TerminateProcess() 来停止子进程。

    2.6 版中的新功能。

    Popen.kill() 杀死孩子。在 Posix 操作系统上,该函数发送 SIGKILL 给孩子。在 Windows 上,kill() 是 terminate() 的别名。

    【讨论】:

      【解决方案2】:

      Python's subprocess module 的文档包括对Popen.terminate()Popen.kill() 的描述。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-26
        • 2014-12-06
        • 2014-10-25
        相关资源
        最近更新 更多