如何从 python 脚本挂起和恢复进程

时间:2021-01-28 12:08:30

标签: python python-3.x

首先,我尝试暂停 youtube-dl 进程,并在需要时使用 bash 恢复它。它没有成功。现在我正在尝试使用 python 暂停和恢复进程。我已经从 Pausing a process? 中获取了指南,现在我的脚本看起来像:

#! /usr/bin/env python3

import psutil
import time

x = [p.info for p in psutil.process_iter(attrs=['pid', 'name']) if 'youtube-dl' in p.info['name']]
mypid=x[0]['pid']
print(mypid)

p = psutil.Process(mypid)
p.suspend()
time.sleep(10)
p.resume()

当我运行上述脚本时,运行 youtube-dl 的终端显示:

zsh: suspended  youtube-dl
% jobs
[1]  + suspended  youtube-dl

我必须转到终端并输入以下命令才能继续该过程:

% fg %1
[1]  + continued  youtube-dl

如何从脚本恢复进程而不是进入终端并输入命令?

只是为了彻底,如果我运行tail -f ~/.xsession-errors,并替换

x = [p.info for p in psutil.process_iter(attrs=['pid', 'name']) if 'youtube-dl' in p.info['name']] 

x = [p.info for p in psutil.process_iter(attrs=['pid', 'name']) if 'tail' in p.info['name']] 

然后它按预期暂停并恢复 tail 命令。但是,它不适用于上面提到的 youtube-dl 命令。

0 个答案:

没有答案