首页 > 解决方案 > 子进程输出数据字识别

问题描述

可能这个问题已经被问过了,但我找不到对我有用的答案,所以请需要你的帮助。我尝试编写脚本,如果服务关闭,它将自动启动另一个脚本,在我的情况下是 apache2,我编写了小脚本,但我无法使其工作,它无法识别输出,请您帮忙,这里是脚本:

    import os
    import subprocess
    service = "apache2"
    p = subprocess.Popen(["systemctl", "is-active", service], stdout=subprocess.PIPE) 
    (output, err) = p.communicate()
    output = output.decode('utf-8')
    print 'APA Serv :',(output)
    if output == "inactive":
        print '\x1b[31;1m' + ' Attention!' + '\x1b[0m'
        os.system('sudo python baz.py')
        time.sleep(2)
    p.stdout.close()

标签: pythonlinuxsubprocess

解决方案


推荐阅读