If 中的第二条语句没有被执行

我是Python新手,所以如果我犯了一个愚蠢的错误,请原谅我。我正在尝试在 python3.8 中创建一个脚本来自动执行服务是否正在运行,然后从那里采取操作。例如,如果 ssh 服务正在运行,那么我希望脚本发送一个命令来停止它。然而,我的 if 循环中的第二条语句没有被执行,它只是输出来自命令“service ssh status”的信息,就是这样。你能帮忙吗?


#!/usr/bin/env python3.8


import os


ssh_status = os.system('service ssh status | grep running')


if ssh_status == 'running':

    os.system('service ssh stop') 


素胚勾勒不出你
浏览 116回答 2
2回答

临摹微笑

os.system 返回命令的退出代码。它永远不会返回像“running”这样的字符串,因此 if 块不会运行。您可能正在寻找的是命令subprocess.check_output()。

阿晨1998

也许条件不满足,你可以else: print(ssh_status)看看是否不同,或者只是在 if 前面添加一个打印。ssh_status 可能不是“正在运行”,因此请检查它是什么。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python