我在Python中使用subprocess.Popen启动了许多子进程.我想检查一个这样的过程是否已经完成.我发现了两种检查子进程状态的方法,但两者似乎都迫使进程完成.一种是使用process.communicate()并打印返回代码,如解释在这里.另一个是简单地调用process.wait()并检查它是否返回0.
有没有办法检查进程是否仍在运行而不等待它完成?
我正在使用ffpmeg将我的所有视频转换为mp4:
ffmpeg -i InpuFile -vcodec h264 -acodec aac -strict -2 OutputFile.mp4
Run Code Online (Sandbox Code Playgroud)
问题是,如果我覆盖输入文件,即输出和输入文件是相同的:
ffmpeg -i InpuFile -vcodec h264 -acodec aac -strict -2 InpuFile.mp4 -y
Run Code Online (Sandbox Code Playgroud)
要么
ffmpeg -i InpuFile -y -vcodec h264 -acodec aac -strict -2 InpuFile.mp4
Run Code Online (Sandbox Code Playgroud)
新文件不好.他持续一秒钟,他的体型非常小.
有任何想法吗?
我想在我的服务器中使用它作为脚本,因此覆盖对我来说是最方便的方式,我更喜欢这种方式,而不是创建临时文件,然后用原始文件替换临时文件.