需要得到命令执行的状态则需要判断$?的值, 在Python中有一个模块commands很容易做到以上的效果.

commands.getstatusoutput(cmd) 返回一个元组(status,output)

status代表的shell命令的返回态,如果成功的话是0;output是shell的返回的结果

实例:

>>> import commands

>>> commands.getstatusoutput('ls /bin/ls')

(0, '/bin/ls')

>>> commands.getstatusoutput('cat /bin/junk')

(256, 'cat: /bin/junk: No such file or directory')

>>> commands.getstatusoutput('/bin/junk')

(256, 'sh: /bin/junk: not found')

>>> commands.getoutput('ls /bin/ls')

'/bin/ls'

应用场景-----监控磁盘状态

#!/usr/bin/env python

#coding:utf-8

import commands

import sys

import time

STATE_OK=0

STATE_WARNING=1

STATE_CRITICAL=2

STATE_UNKNOWN=3

def foo():

j = 0

try:

for i in ['a','b','c']:

stat=commands.getstatusoutput('smartctl -H /dev/sd%s' %i)

if stat[0] == 0:

pass

#print '/dev/sd%s is ok;' %i,

else:

print '/dev/sd%s is error;' %i,

j+=1

if j != 0:

print 'Error - the %s diskes is error,' %j,time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

sys.exit(STATE_CRITICAL)

else:

print 'OK - the disk (from a to k),all is OK,',time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

sys.exit(STATE_OK)

except ValueError:

print "UNKNOWN"

sys.exit(STATE_UNKNOWN)

foo()

python commands_python之返回状态commands模块相关推荐

  1. python commands_python commands模块在python3.x被subprocess取代

    subprocess 可以执行shell命令的相关模块和函数有: os.system os.spawnos.popen --废弃 popen2.* --废弃 commands.* --废弃,3.x中被 ...

  2. python commands模块在python3.x被subprocess取代

    subprocess 可以执行shell命令的相关模块和函数有: os.system os.spawn os.popen --废弃 popen2.* --废弃 commands.* --废弃,3.x中 ...

  3. python commands执行不连续_[Python] 利用commands模块执行Linux shell命令

    用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要 ...

  4. python commands用法_python之commands模块(执行Linux Shell命令)

    commands模块 用于执行Linux shell命令,要获得shell命令的输出只需要在后面参数写入('命令')就可以了. 需要得到命令执行的状态则需要判断$?的值, 在Python中有一个模块c ...

  5. python中commands模块

    commands模块是python的内置模块,他共有三个函数,使用help(commands)可以查看到. 注:在3.x版本总,getstatus()方法被移除,getoutput()和getstat ...

  6. Python资料之commands模块

    commands模块是python的内置模块,他共有三个函数,使用help(commands)可以查看到. 注:在3.x版本总,getstatus()方法被移除,getoutput()和getstat ...

  7. python commands模块_python之commands和subprocess入门介绍(可执行shell命令的模块)

    一.commands模块 1.介绍 当我们使用Python进行编码的时候,但是又想运行一些shell命令,去创建文件夹.移动文件等等操作时,我们可以使用一些Python库去执行shell命令. com ...

  8. python commands模块_python commands模块在python3.x被subprocess取代

    subprocess 可以执行shell命令的相关模块和函数有: os.system os.spawn os.popen --废弃 popen2.* --废弃 commands.* --废弃,3.x中 ...

  9. python commands.getoutput_Python3中用什么替换commands模块的getstatusoutput()

    先翻译一段文章:https://stackoverflow.com/questions/11344557/replacement-for-getstatusoutput-in-python-3 在最后 ...

最新文章

  1. 9.Matlab中的repmat,clock,rand以及seed,state,twister参数
  2. SSO(Single Sign-on) in Action
  3. 问题:Unable to find a 'userdata.img' file for ABI armeabi to copy into the AVD folder.
  4. Oracle数据库导入导出命令imp/exp
  5. 手机qpython下载_QPython
  6. a表两个字段都与b表一个字段关联_数据库表的主键实例分析
  7. 【好文收藏】k8s中Pod 无法正常解析域名:部署 DNS 调试工具排查
  8. HDU1429胜利大逃亡(续)HDU 1885 Key Task BFS+状态压缩+水
  9. 对 带头结点的单链表 的操作
  10. python随机森林特征重要性_Python中随机森林回归的特征重要性
  11. 【SpringBoot 2】(十一)单元测试JUnit 5 指标监控
  12. 解决ssh无密码登录不成功的问题
  13. 安装ceston8出现timeout_瓦罗兰特Valorant:显示逾时怎么办 瓦罗兰特time out解决
  14. .NET Windows编程系列笔记(一)
  15. 你是我心中永远抹不掉的痛
  16. 推荐几个字节跳动、微众银行、蚂蚁金服技术大佬的公号
  17. 《移动App测试实战》——1.4 本章小结
  18. 脑电EEG代码开源分享 【2.预处理-静息态篇】
  19. html转pdf分页问题终极解决方案 k-htmlpdf
  20. Qt 中Socket编程实例

热门文章

  1. 简单的多线程编程_同步与互斥问题
  2. FCN全卷积网络理解及代码实现(来自pytorch官方实现)
  3. bjut193E 吃饭时的怪癖
  4. 爬虫工具可以干什么_10个爬虫工程师必备的工具了解一哈
  5. Java人机猜拳游戏(命令行版)
  6. 网摘_技能_IT_后端_存储_简单卷、跨区卷、带区卷、镜像卷和 RAID-5 卷 区别
  7. Android如何成功导入外部项目
  8. 苹果智能音箱HomePod确定跳票到2018年!元芳 你怎么看? | 精选
  9. Java处理GMT时间和UTC时间
  10. 小学英语口语测试软件,小学英语口语交际测试