0

我正在尝试使用subprocess.Popen()来读取服务状态。

如果我得到一个unrecognized service error值,则在打印到屏幕时不会保存outerr供以后查看。

如果服务确实存在,“正在运行”将保存到该out值。当遇到无法识别的错误时,我想完成相同的结果。

我尝试过使用subprocess.check_output,但无法识别。

如果我使用现有服务,它可以按需要工作。

我的代码:

p = subprocess.Popen(['service','PretendService','status'], stdout=subprocess.PIPE)

out,err = p.communicate()
4

1 回答 1

0

您需要管道stderr以及stdout

p = subprocess.Popen(['service','PretendService','status'], 
                     stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out,err = p.communicate()
# Now err will have your error message
于 2014-07-09T16:21:52.250 回答