HP为linux系统提供了两个硬件管理工具:hpacucli 和 hpasmcli 。hpacucli 工具可以查看HP服务器的Raid状态是否正常,服务器硬盘是否正常,服务器电源是否有故障等信息。hpasmcli 工具可以很详细查看服务器CPU,内存,处理器,电源等的温度信息。 一、hpacucli 的安……
Continue reading
Python的ConfigParser Module 中定义了3个类对INI文件进行操作。分别是RawConfigParser、ConfigParser、SafeConfigParser。 RawCnfigParser是最基础的INI文件读取类,ConfigParser、SafeConfigPa……
Continue reading
一、初识Queue模块 Queue模块实现了多生产者、多消费者队列。它特别适用于信息必须在多个线程间安全地交换的多线程程序中。这个模块中的Queue类实现了所有必须的锁语义。它依赖于Python中线程支持的可用性;参见threading模块。 模块实现了三类队列:FIFO(First……
Continue reading
Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。线程首先acquire一个条件变量,然后判断一些条件。如果条件不满足则wai……
Continue reading
一、死锁 简单来说,死锁是一个资源被多次调用,而多次调用方都未能释放该资源就会造成死锁,这里结合例子说明下两种常见的死锁情况。 1、迭代死锁 该情况是一个线程“迭代”请求同一个资源,直接就会造成死锁: 1import threading 2import time 3class MyThread(threading.Thread): 4 def run(self): 5 global num 6 time.sleep(1) 7 if mutex.acquire(1): 8 num = num+1 9 msg = self.name+' set num to '+str(num) 10 print msg 11 mutex.acquire() 12 mutex.release() 13 mutex.release() 14num = 0 15mutex =……
Continue reading
python threading模块有两类锁:互斥锁(threading.Lock )和可重用锁(threading.RLock)。两者的用法基本相同,具体如下: 1lock = threading.Lock() 2lock.acquire() 3dosomething…… 4lock.release() RLock的用法是将threading.Lock()修改为threading.RLock()。……
Continue reading
centos/rhel下的tree命令非常好用,不过在SuSE下发现竟然没有该包,在SuSE的ISO镜像中也确认不存在该包 ,但是有的时候有想一目了解目录下的文件目录结构,所以就想到通过python实现一个。不过我这个比较懒,习惯先网上找下,能找到的话何必自己再去重复做无用功呢?还……
Continue reading
一、sqlalchemy简介 SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。SQLAlchemy“采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQLAl……
Continue reading
一、pymysql的安装 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。使用pip工具可以直接进行安装: 1pip install pymysql 二、操作数据库 1、执行SQL语句 1#!/usr/bin/env python 2# -*- coding:utf-8 -*- 3import pymysql 4# 创建连接 5conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='123', db='t1') 6# 创建游标 7cursor = conn.cursor() 8# 执行SQL,并返回收影响行数 9effect_row = cursor.execute("update hosts set host =……
Continue reading
一、简介 Centos7开机第一个程序从init完全换成了systemd这种启动方式,systemd是靠管理unit的方式来控制开机服务,开机级别等功能。 在/usr/lib/systemd/system目录下包含了各种unit文件,有service后缀的服务unit,有target……
Continue reading