python - 如何正确获取 subprocess.run() 的结果?
问题描述
很抱歉再次询问这个问题,但我一直无法找到一种方法来消除不断发生的误报。
当我收到“无法到达目的地”的回复时,它显示所有返回的数据包和 0 个数据包丢失......所以它显示 SERVER UP 而不是 down。
我怎么能绕过这个?
# Server up/down Script
# - Module Import section
import socket
import sys
import os
import subprocess
# - IP Address input request
hostname1 = input (" Please Enter IP Address: ")
# - Command to run ping request, but also hides ping info
response = subprocess.run(["ping", "-c", "1", hostname1], stdout=subprocess.PIPE)
response.returncode
#___ ORIGINAL CODE ___
#if (response == "Reply from", hostname1):
if response.returncode == 0:
print ( 50 * "-")
print ("[ **SERVER IS ALIVE** ]")
print ( 50 * "-")
elif response.returncode == 0 and (str("Destination host unreachable.")):
print( 50 * "-")
print(hostname1, "[ **SERVER DOWN** ] ")
print( 50 * "-")
else:
print( 50 * "-")
print(hostname1, "[ **SERVER DOWN** ] ")
print( 50 * "-")
解决方案
推荐阅读
- angular - 反应式表单验证 - Angular & Bootstrap
- swift - 我在一个类的静态变量中拥有所有重要的东西,但我似乎找不到保存它的方法。有什么建议么?斯威夫特 4
- javascript - 将对象更改为嵌套数组后代码不起作用
- sql - 此方案的 SQL Server 查询
- javascript - 将上传的图像旋转 90 度
- javascript - 是同步的axios请求吗?
- javascript - android 构建失败,错误“任务':react-native-fcm:compileReleaseJavaWithJavac'执行失败。”,但适用于 iOS
- javascript - 使用这个 CSS 转换的翻盖卡片,我怎样才能保持后面的内容可访问?
- jquery - 如何根据数据自定义jQuery数据表中th或td的宽度?
- asp.net-core-2.0 - 如何从 .net core 2.2 中的 log4net 配置文件中获取 appender