python - 检查 apache 是否正在运行
问题描述
我想写一个函数,当 apache 运行时打印一切都很好,所以我决定计算正在使用 apache 的进程数,它是 8。所以我想打印 apache 有超过 2 个进程时正在运行. 所以 v 是 8 但还是不行,所以我决定转换成字符串,但还是没有解决问题。
你知道为什么它不工作吗?""""
import os
def checkApacheStatus():
v = os.system("ps -ef| awk '{print $1}'|grep apache|wc -l")
p = int(v)
if p>2:
print("apache is running")
"""" 检查ApacheStatus()
解决方案
os.system
不返回命令的输出。它只是返回成功代码,一个从 0 到 255 的数字。您需要使用子进程。
import subprocess
v = subprocess.Popen("ps -ef|awk '{print $1}'|grep apache|wc -l",stdout=subprocess.PIPE)
p = int(v.stdout.read())
请注意,“grep -c”可以直接为您提供找到的行数。
推荐阅读
- excel - vba 使用单元格命令计算平均值
- javascript - 展平对象数组
- r - 提高特定代码效率 - *base R* 替代 for() 循环解决方案
- r - 如何通过 R 中的选定列值转置我的表?
- sql-server - SSRS - 可以隐藏分组行中的各个列而不隐藏整行吗?
- bartender - Bartender 2016 R9 - 打印通行证时触发的 VBScript(不是打印预览)
- r - SF:我怎样才能得到多边形内的所有点?
- java - Java中的继承和泛型
- google-signin - 尝试为本地主机设置 Google 登录时出现授权错误 400
- python - 比较不等长度的 Pandas 数据帧