百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

如何使用python获取shell命令执行结果

liuian 2024-12-02 22:29 48 浏览

由于生产环境kubernetes证书签名请求pending导致一个node掉集群了,所以想通过定期巡检的方式去获取下证书签名请求状态(最好是做实时监控,定期巡检方式不完美)我们通过kubectl get csr这个命令可以查看当前集群是否存在pengding状态的证书签名请求,那么只需要把这个结果通过邮件发送出来即可,下面我们使用python来实现这个需求(python发送邮件方法略过)。

os.popen

python执行shell命令,我们可以使用内置模块os.popen

import os

cmd = 'kubectl get csr'
logs = os.popen(cmd)
log_mes = str(logs.readlines()) #一次读取整个文件,放入一行的列表里,邮件需要字符串,所以使用str函数

假如执行有正确输出,那么这个方案是可行,当前kubernetes集群没有pengding状态的证书请求

#kubectl get csr
No resources found.

此方法获取到的是一个空值 [ ],假如定义空值为正常也勉强能达到需求。但是我们想把shell执行的结果完整地传递到邮件,我们该如何实现呢?

subprocess.Popen

使用内置模块subprocess,python2为command,subprocess.Popen可以让命令执行结果的stderr错误输出也包含在正常的输出里,添加下参数stderr=subprocess.STDOUT即可实现。

示例命令:

import subprocess

logs = subprocess.Popen("kubectl get csr", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
log_mes  = str(logs.stdout.readlines())

得到的结果是 [b'No resources found.\n']

DONE

相关推荐

苹果怎么查询手机激活时间(苹果手机如何查询手机激活时间)
  • 苹果怎么查询手机激活时间(苹果手机如何查询手机激活时间)
  • 苹果怎么查询手机激活时间(苹果手机如何查询手机激活时间)
  • 苹果怎么查询手机激活时间(苹果手机如何查询手机激活时间)
  • 苹果怎么查询手机激活时间(苹果手机如何查询手机激活时间)
免费手机模拟器(免费手机模拟器下载)

目前能成功在电脑上模拟苹果系统的iOS模拟器,对比市面上常见的安卓模拟器少太多了,主要原因还是iOS系统比较封闭,难于开发。虽然前面说开发很困难,但是国内还是有一些厉害的IT小组成功推出了iOS模拟器...

免费主题商店app下载(免费主题商店app下载苹果)
  • 免费主题商店app下载(免费主题商店app下载苹果)
  • 免费主题商店app下载(免费主题商店app下载苹果)
  • 免费主题商店app下载(免费主题商店app下载苹果)
  • 免费主题商店app下载(免费主题商店app下载苹果)
新手怎么制作word表格(工作表格制作)

步骤如下:1、本次演示使用的软件为word文字处理软件,软件版本为Microsoftoffice家庭和学生版2016。2、首先打开Excel电子表格,根据问题描述,我们在word中插入两页表格。3、...

电脑开机启动进不了系统怎么办
电脑开机启动进不了系统怎么办

一、修复错误如果频繁无法正常进入系统,则开机后马上按F8,看能否进入安全模式或最后一次配置正确模式,如能则进入后会自动修复注册表,并回忆前几次出现不正常现象时进行了什么操作,并根据怀疑是某个应用软件导致问题产生,将其卸载,然后正常退出,...

2026-01-02 13:05 liuian

win11任务栏隐藏不了(win11任务栏怎么隐藏)

方法/步骤:  1、打开电脑桌面,双击我的计算机。  2、打开控制面板。  3、点击类别切换到大图标或小图标。  4、找到通知区域图标打开。  5、选择显示图标或隐藏图标也可以仅显示通知,选好以后点击...

win10怎么打开系统更新(怎么开启windows10更新)
  • win10怎么打开系统更新(怎么开启windows10更新)
  • win10怎么打开系统更新(怎么开启windows10更新)
  • win10怎么打开系统更新(怎么开启windows10更新)
  • win10怎么打开系统更新(怎么开启windows10更新)
笔记本注册表编辑器怎么打开

你好,要打开注册表编辑器,可以按照以下步骤进行操作:1.打开“运行”对话框。可以通过按下Win+R键组合,或者在开始菜单中搜索“运行”来打开。2.在“运行”对话框中,输入“regedit”并点...

怎样查询ip地址(怎么顺着ip地址找人)

答:查看ip地址的步骤如下,1.通过网页进行查询:可以通过第三方平台进行查询。2.通过电脑内部的网络连接进行查询:首先我们点击桌面右下角的开始,在开始的选项栏当中找到运行,点击运行,然后再用新的对...

windows server 2003的应用(win2003应用程序服务器)

WindowsServer2003支持FAT16、FAT32和NTFS文件系统,同时也支持CDFS(光盘文件系统)和UDF(通用磁盘格式)。NTFS文件系统的安全性高于FAT文件系统,支持域的管理...

c盘格式化恢复软件(格式化c盘 软件)

点我名字,然后点“他的空间”,我的空间有各种恢复软件的详细介绍、下载地址以及使用说明。C盘格式化后需重装操作系统,系统装好后,要恢复其他盘的软件的话可以在格式化C盘前将桌面数据备份在其他盘,重装完成后...

u盘磁盘被写保护最简单解除方法

u盘磁盘被写保护解除方法,去掉u盘写保护可以先检查u盘写保护的按钮是否打开,然后在电脑上将u盘文件拷贝一份,接着右键点击u盘,选择属性选项,点击工具选项进入,点击开始检查选项,最后如果有问题点击修复即...

免费刷机工具(免费刷机工具哪个好用)

 刷机机灵你的安卓手机智能管家:刷机精灵软件是一款适用于Andorid设备的一键刷机软件。它能够自动安装设备驱动、自动获取ROOT权限、自动刷入ClockworkmodRecovery以完成Andr...

硬盘重新分区怎么分(硬盘重新分区后怎么装系统)

对已分区的硬盘重新分区的方法如下:1. 备份重要数据:重新分区会格式化硬盘,导致数据丢失。因此,在进行重新分区之前,需要备份重要数据。2. 进入磁盘管理工具:在Windows操...

一键ghost快捷键(1键ghost)

一、开机连续按F8,在系统启动菜单中,选择一键还原选项进行一键还原。二、制作启动盘重装操作系统。安装GHOST版本操作系统方法:1、将制作好的PE启动U盘插入电脑USB接口(台式用户建议将u盘插在主机...