Subprocess.call input is int. 我们如何才能使它成为字符串



我一直在尝试简单地查看是否在"ps -A"命令中找到"网络"服务。但是,收到错误:"类型错误:类型'int'的参数不可迭代"。这是我的代码:

import subprocess
tmp = subprocess.call('ps -A', shell=True, stderr=subprocess.DEVNULL)
if 'networking' in tmp:
    print("networking service is up an running!")
else:
    print("networking service is not up :(")

即使在subprocess.call函数 => 末尾使用 .decode(( 时,它也说这里不支持 .decode(( ...

有什么想法吗?

subprocess.call 返回一个整数,0表示一切正常。

尝试subprocess.check_output

import subprocess
p = subprocess.check_output('ps -A', shell=True, stderr=subprocess.DEVNULL)
if b'networking' in p:
    print("networking service is up an running!")
else:
    print("networking service is not up :(")

最新更新