python3出现非零返回,Python'subprocess'CalledProcessError:命令'[...]'返回非零退出状态1...

当在Python中使用subprocess模块执行ping命令时遇到CalledProcessError,通常表示非零退出状态。这可能由多种原因引起,如域名未知、目标站点不可达或ICMP被阻止等。要获取更多错误信息,可以改用subprocess.Popen来捕获输出和退出状态。通过示例代码展示了如何使用Popen检查ping命令的返回码和输出。
摘要由CSDN通过智能技术生成

Executing the following script...

import socket

import sys

from collections import OrderedDict

from subprocess import check_output

from threading import Thread

[...]

class IpCheck(Thread):

RECEIVED_PACKAGES_RE = re.compile(r'(\d+) received')

def __init__(self, ip):

Thread.__init__(self)

self.ip = ip

self.result = None

def run(self):

match = self.RECEIVED_PACKAGES_RE.search(

check_output(['ping', '-q', '-c2', '-W1', self.ip])

)

successful_ping_count = int(match.group(1)) if match else 0

if successful_ping_count == 0:

self.result = 'no response'

elif successful_ping_count == 1:

self.result = 'alive, but 50% package loss'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值