我喜欢在os模块中使用system()命令。有没有办法检查命令是否给了我回复?如果命令在x秒内没有完成,我有终止命令的代码,但是我想改进它,如果它在x秒内没有响应,就可以终止它。
谢谢!
发布于 2011-04-20 05:02:40
这取决于你说的“回复”是什么意思。os.system()返回命令的退出状态(这是一个整数,通常0表示成功)。如果这还不够,可以看看subprocess模块。
发布于 2011-04-20 05:12:07
你没有说你运行的是什么操作系统。遗憾的是,Windows和Linux的情况是不同的。下面是我要做的:
import os
try:
WEXITSTATUS = os.WEXITSTATUS
except AttributeError: # running on Windows
def WEXITSTATUS(arg):
return arg
os.environ["HOME"] = os.environ["USERPROFILE"]
if WEXITSTATUS(os.system(cmd)) != 0:
pass # bad return value
else:
pass # good return valuehttps://stackoverflow.com/questions/5722609
复制相似问题