当前位置:首页 > CN2资讯 > 正文内容

python 检测服务器 python查看服务器日志

1天前CN2资讯
# 读取服务器日志,并打印 if __name__ == '__main__': # with SSHTunnelForwarder( # ('120.25.*.*', 22), #跳板机IP,端口 # ssh_username="root", #跳板机用户名 # ssh_password="i8khGtwa7sQra5hXXXXX", #跳板机密码 # # ssh_pkey="./rsa", #ssh 连接使用密钥证书登录,该参数必须;该路径为目标服务器的公钥证书 # # ssh_private_key_password="i8khGtwa7sXXXX", #如果公钥证书有密码,该参数必须,如果没有密码,该参数注释掉 # remote_bind_address=('10.20.XXX', 22), #远程服务器地址、端口 # local_bind_address=('127.0.0.1', 10022) #本机固定127 # ) as tunnel: #以上跳板机代码注销后,下面是直接访问服务器代码 client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect('10.206.28.139', 22, username='haitian', password='Sf123456!@#', timeout=30) # do some operations with client session remote_command = "tail -fn 50 /app/deploy/nwms-base/logs/error.log " stdin, stdout, stderr = client.exec_command(remote_command) last_line = stdout.read() # 此处程序会死锁 a = last_line.decode('utf - 8') print(a) client.close()

 

死锁:

如果设置了stdout或stderr,subprocess就会调用os.pipe创建一个管道用于其和子进程之间的通信,而上面的问题正好是cmd输出的数据把pipe塞满,无法继续往pipe里写入数据导致程序hang住,而我们没有去读出pipe数据,而是死等子进程完成,导致死锁。

具体大小的话windows只有4kb,而linux有64kb(辣鸡windows)

那么如何解决呢

解决办法一:

使用communicate及时读出pipe中内容,避免堵死,但在输出量非常大的情况下会影响性能:

这也是官方文档里推荐的做法,但是不能乱用,因为会影响性能.

解决办法二:

使用文件代替PIPE,但是这样子的话传给客户端的就只能是文件了。

fdout = open(len(procs)+".out", 'w') fderr = open(len(procs)+".err", 'w')

总结:

两种方法需要自己根据情况进行取舍,都有各自的优势和劣势。



    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/31954.html

    分享给朋友:

    “python 检测服务器 python查看服务器日志” 的相关文章

    中国电信CN2线路图解视频:解密高效网络通信的秘密

    在信息时代,网络通信的效率和稳定性直接影响着企业的运营和发展。对于跨国企业而言,如何实现高效、安全的跨国数据传输和语音通信,更是关乎企业核心竞争力的重要问题。而在中国电信CN2线路的助力下,这些难题迎刃而解。本文将通过图解视频和详细解析,为您全面解读中国电信CN2线路的技术优势和应用场景,带您领略高...

    甲骨文注册流程详解:成功申请的关键步骤与技巧

    甲骨文(Oracle Cloud)的注册流程看似复杂,但只要事先做好准备,整个过程其实非常顺利。我自己在注册时感受到了这一点,以下就是我想和大家分享的步骤和经验。 申请前的准备工作 在我们开始注册之前,有几个准备工作是必须要做的。首先,创建一个国际邮箱是至关重要的。虽然国内的邮箱也可以使用,但我推荐...

    解决Hostodo打不开的有效方法和详细步骤

    在使用Hostodo的过程中,偶尔会遇到打不开的情况。这种问题可能会让人感到挫败,但其实有几个常见原因可以帮助我们找到解决办法。首先,网络连接问题是最普遍的原因之一。无论是局域网的配置,还是Wi-Fi的信号不稳定,都会导致连接失败。我记得第一次遇到这种情况时,发现原来是我的路由器出了问题,重新启动后...

    全面提升VPS性能测试与优化方法指南

    VPS性能测试概述 在使用VPS的过程中,了解它的性能测试显得尤为重要。VPS性能测试是一种评估虚拟专用服务器性能的手段,可以帮助我们清晰地了解VPS的状态与能力。这项测试不仅关注CPU型号、内存大小等硬件配置,还涵盖了磁盘存储量、操作系统版本以及虚拟化程序等多个方面的检测。通过这些参数,我们能对V...

    JustHost优惠码大揭秘:节省开支的绝佳办法

    JustHost概述 我对JustHost的了解始于它的多样化主机产品和用户友好的服务。JustHost成立于2006年,作为一家俄罗斯主机商,它提供虚拟主机、VPS服务器以及独立服务器,是一个值得关注的选择。JustHost不仅拥有丰富的技术背景,还致力于为用户提供高性价比的服务,这让我对它充满了...

    Oracle 免费VPS:轻松入门云计算的最佳选择

    在了解Oracle免费VPS之前,先来看看Oracle Cloud。这是甲骨文公司推出的一项云服务,提供了一系列强大的计算和存储资源。Oracle Cloud的最吸引人的部分是它的免费服务,给用户提供了机会,可以在没有经济负担的情况下体验云计算的强大功能。对于开发者、创业者或只是想进行一些小项目的用...