在Windows中暂停进程

3 投票
1 回答
3953 浏览
提问于 2025-04-15 16:56

我正在为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()。

撰写回答