Приостановка процесса в Windows

Я делаю приятный небольшой интерфейс GUI для Python для ffmpeg в Windows (тот, который специально предназначен для конвертирования видео в формат, совместимый с iPhone, и автоматически импортирует его в iTunes и помечает его), и я хочу, чтобы он работал, чтобы вы могли приостановите процесс и возобновите его, если хотите.

Поскольку я запускаю ffmpeg как отдельный процесс, очевидным решением было бы приостановить процесс (который, как я знаю, возможен в Windows, Process Explorer может это сделать), но я не могу понять, как это сделать. Кто-нибудь знает, как это сделать в Python?

Вы можете легко сделать это, используя 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 с помощью системных вызовов SuspendThread () и ResumeThread () Windows.