使用SHELL脚本进行检查服务开启情况

#!/bin/bash
#需要首先安装 yum install nmap -y #检查指定端口是否开启
function checkPortStatus()
{
status=`nmap -sS 127.0.0.1 -p $ | grep open | awk '{print $2}'`
if [ "$status" != "open" ];
then
return ;
else
return ;
fi
} checkPortStatus
echo $? checkPortStatus
echo $?

调用python发送QQ邮件的邮件(可以防止垃圾邮件屏蔽)

#-*-coding:utf--*-

#===============================================================================
# 导入smtplib和MIMEText
#===============================================================================
from email.MIMEText import MIMEText
from email.Header import Header
import smtplib, datetime,sys #===============================================================================
# 要发给谁,这里发给1个人
#===============================================================================
mailto_list=["10402852@qq.com"] #===============================================================================
# 设置服务器,用户名、口令以及邮箱的后缀
#===============================================================================
mail_host="smtp.qq.com"
mail_user=""
mail_pass="*************"
mail_postfix="qq.com" #===============================================================================
# 发送邮件
#===============================================================================
def send_mail(to_list,sub,content):
'''
to_list:发给谁
sub:主题
content:内容
send_mail("10402852@qq.com","sub","content")
'''
me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content)
msg['Subject'] = sub
msg['From'] = me
msg['To'] = ";".join(to_list)
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me, to_list, msg.as_string())
s.close()
return True
except Exception, e:
print str(e)
return False
if __name__ == '__main__':
if send_mail(sys.argv[1],sys.argv[2],sys.argv[3]):
print "发送成功"
else:
print "发送失败"

测试用例:

[root@199 huanghai]# python mail.py 10402852@qq.com 黄海的测试标题 黄海的测试内容
发送成功

watch.py 监控CPU,内存,磁盘等情况

#!/usr/bin/python
#fileName:getinfoinsh.py
#get cpu,meminfo from top command. import os
import time def getinfointop():
topp=os.popen("top -n1|grep -E '^Cpu|^Mem'")
toppstr=topp.read()
replacestr=["\x1b","[m","\x0f","[K"]
# replace the str cannt be printed.
for item in replacestr:toppstr=toppstr.replace(item,'') splitstr=toppstr.split("\n") cpuinfo=splitstr[].split()
meminfo=splitstr[].split()
info=(cpuinfo[].strip(','),cpuinfo[].strip(','),cpuinfo[].strip(','),meminfo[],meminfo[],meminfo[])
return info def getinfoindh(): dhplines=[]
for i in os.popen("df -h"):
dhplines.append(i.strip())
return dhplines if __name__=='__main__':
info=getinfointop()
diskinfo=getinfoindh()
print 'cpu info:'
print "user cpu used:",info[]
print "system cpu used:",info[]
print "free cpu:",info[]
print ''
print 'Mem info:'
print "used mem:",info[]
print "free mem:",info[]
print "total mem:",info[]
print ''
print 'disk info:'
for i in diskinfo:print i
print ''
print 'time:', time.strftime('%Y-%m-%d %H:%M',time.localtime(time.time()))

SHELL判断服务是不是正在运行的更多相关文章

  1. Android之判断某个服务是否正在运行的方法

    /** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.testbackst ...

  2. Android 如何判断指定服务是否在运行中 “Service”

    如何判断一个服务是否正在运行中: /** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName 是包名+服务的类名 * @return ...

  3. ServiceStatusUtils判断服务是否运行

    import android.app.ActivityManager; import android.app.Service; import android.content.Context; impo ...

  4. Android 如何判断一个应用在运行(转)

    Android 如何判断一个应用在运行  在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManag ...

  5. Android如何判断一个应用在运行

    在一个应用中,或一个Service .Receiver中有时候需要判断一个应用是否正在运行,以便进行一些相关的处理,这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就 ...

  6. android如何判断服务是否正在运行状态

    如何检查后台服务(Android的Service类)是否正在运行?我希望我的Activity能够显示Service的状态,然后我可以打开或者关闭它. /** * 判断服务是否处于运行状态. * @pa ...

  7. WCF心跳判断服务端及客户端是否掉线并实现重连接

    WCF心跳判断服务端及客户端是否掉线并实现重连接 本篇文章将通过一个实例实现对WCF中针对服务端以及客户端是否掉线进行判断:若掉线时服务器或客户端又在线时将实现自动重连:将通过WCF的双工知识以及相应 ...

  8. shell监控网站是否自动运行并自动重启【原创】

    shell监控网站是否自动运行并自动重启 #!/bin/bash -T www.baidu.com ];then echo "`date` 网站访问正常!" >> /r ...

  9. Android中判断service是否在运行

    /** * 判断服务是否开启 * * @return */ public static boolean isServiceRunning(Context context, String Service ...

随机推荐

  1. 科学计算库Numpy——数组生成

    等差数组 使用np.arange()或np.linspace()生成元素是等差数列的数组. 以10为底的数组 使用np.logspace()生成元素是以10为底的数组. 数组扩展 使用np.meshg ...

  2. RGB色彩的计算机表示

    计算机显示模式[编辑] 24比特模式[编辑] 每像素24位(比特s per pixel,bpp)编码的RGB值:使用三个8位无符号整数(0到255)表示红色.绿色和蓝色的强度.这是当前主流的标准表示方 ...

  3. 并查集:HDU4496-D-City(倒用并查集)

    D-City Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submis ...

  4. 水题:HDU-1088-Write a simple HTML Browser(模拟题)

    解题心得: 1.仔细读题,细心细心...... 2.题的几个要求:超过八十个字符换一行,<br>换行,<hr>打印一个分割线,最后打印一个新的空行.主要是输出要求比较多. 3. ...

  5. Linux文件类型 扩展名的作用

    链接类型文件 查找显示管道文件 普通文件类型 file 查看文件的类型 data文件类型 创建块字和符设备 mknod 1,.tar .tar.gz .tgz .zip tar.bz 表示压缩文件,创 ...

  6. datagrid的右键菜单

    1. 2.右键菜单,主要是用onRowContextMenu:function(e,index,row){}方法来实现 onRowContextMenu:function(e,index,row){ ...

  7. aircrack-ng破解wlan无线流量包

    记录一下新的知识点. 无线协议里最关键的就是EAPOL协议了,这个里面保存着密钥,所以破解无线流量包也应该从这里入手. 用到的工具是aircrack-ng,这个在kali自带,也可以下载windows ...

  8. 几种常见的Android自动化测试框架及其应用

    随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...

  9. Python+Selenium练习篇之4-利用link text定位元素

    本文介绍如何通过link text 来定位页面元素,我们打开网页,一些可以点击的链接跳转上面的文字,就是link text,用百度首页举例来看: 在上面图中,这一排上面的文字都是link text,例 ...

  10. [oldboy-django][2深入django]学生管理(Form)--查看(分页)

    1 需求: 查看所有学生的信息,(分页功能) 2 前端:bootstrap美化前端 <!DOCTYPE html> <html lang="en"> < ...