Python操作系统()命令未完成时自动退出y

2024-09-28 19:26:10 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我正在使用pythonos.system(cmd)来做一些日常工作。在

这里有一种情况,cmd需要5-6分钟才能完成,我运行这个cmd mauly,它可以工作,但是当我将它放入os.system(cmd)时,os.system(cmd)将在cmd尚未完成时自动退出。在

所以我的问题是:如何处理这个问题,设置超时值,或者有没有更好的方法来完成这项工作?在

提前谢谢!在


Tags: 方法cmdos情况system时值pythonosmauly
1条回答
网友
1楼 · 发布于 2024-09-28 19:26:10

你试过subprocess模块了吗?它被添加来代替os.system和其他旧的os方法。以下内容几乎直接来自于文档:

import os
import subprocess

proc = subprocess.Popen(cmd, shell=True)
pid, sts = os.waitpid(proc.pid, 0)

# you may check on this process later and kill it if it's taking too long
if proc.poll() in [whatever, ...]:
    os.kill(proc.pid)

或者,如果您试图调试进程退出的原因:

^{pr2}$

相关问题 更多 >