比如 rsync 复制文件或 restic 备份文件到云平台,将这一类耗时的操作扔到 Linux 后台去运行。

使用 subprocess.Popen() 执行命令,命令会在当前 Python 进程下创建子进程上运行。

运行任务

import subprocess
errput = open(os.path.join(app.root_path, 'restic.err'), 'w')
backup = subprocess.Popen(cmd, stderr=errput)
errput.close()

查看任务进程 backup.pid,杀掉任务进程 backup.kill()