在Windows中暂停进程
我正在为Windows上的ffmpeg制作一个漂亮的小Python图形界面,这个界面专门用来把视频转换成适合iPhone的格式,并且可以自动导入到iTunes并添加标签。我希望这个程序能够让用户在转换过程中暂停,然后再继续。
因为我把ffmpeg当作一个单独的进程来启动,所以一个明显的解决办法就是让程序暂停这个进程(我知道在Windows上是可以做到的,像Process Explorer就能做到),但我就是搞不清楚怎么在Python中实现这个功能。有没有人知道怎么做?
1 个回答
6
你可以通过使用 psutil 这个库来轻松实现这个功能(https://github.com/giampaolo/psutil)。
import psutil
pid = 1034 # replace this with the pid of your process
p = psutil.Process(pid)
p.suspend()
...要恢复它:
p.resume()
这个功能在内部是通过 C 语言实现的,使用了 Windows 系统调用中的 SuspendThread() 和 ResumeThread()。