SHELL判断服务是不是正在运行
使用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判断服务是不是正在运行的更多相关文章
- Android之判断某个服务是否正在运行的方法
/** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.testbackst ...
- Android 如何判断指定服务是否在运行中 “Service”
如何判断一个服务是否正在运行中: /** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName 是包名+服务的类名 * @return ...
- ServiceStatusUtils判断服务是否运行
import android.app.ActivityManager; import android.app.Service; import android.content.Context; impo ...
- Android 如何判断一个应用在运行(转)
Android 如何判断一个应用在运行 在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManag ...
- Android如何判断一个应用在运行
在一个应用中,或一个Service .Receiver中有时候需要判断一个应用是否正在运行,以便进行一些相关的处理,这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就 ...
- android如何判断服务是否正在运行状态
如何检查后台服务(Android的Service类)是否正在运行?我希望我的Activity能够显示Service的状态,然后我可以打开或者关闭它. /** * 判断服务是否处于运行状态. * @pa ...
- WCF心跳判断服务端及客户端是否掉线并实现重连接
WCF心跳判断服务端及客户端是否掉线并实现重连接 本篇文章将通过一个实例实现对WCF中针对服务端以及客户端是否掉线进行判断:若掉线时服务器或客户端又在线时将实现自动重连:将通过WCF的双工知识以及相应 ...
- shell监控网站是否自动运行并自动重启【原创】
shell监控网站是否自动运行并自动重启 #!/bin/bash -T www.baidu.com ];then echo "`date` 网站访问正常!" >> /r ...
- Android中判断service是否在运行
/** * 判断服务是否开启 * * @return */ public static boolean isServiceRunning(Context context, String Service ...
随机推荐
- 多进程的基本使用--multiprocessing 【转】
multiprocessing 如果你打算编写多进程的服务程序,Unix/Linux无疑是正确的选择.由于Windows没有fork调用,难道在Windows上无法用Python编写多进程的程序? 由 ...
- GIt-重置
master分支在版本库的引用目录(.git/refs)中体现为一个引用文件.git/refs/heads/master,其内容就是分支中最新提交的提交ID. $ cat .git/refs/head ...
- 文件的特殊权限(SUID,SGID,SBIT)
文件的一般权限:r w x 对应 421 文件的特殊权限:SUID SGID SBIT对应 421 文件的隐藏权限:chattr设置隐藏权限,lsattr查看文件的隐藏权限. 文件访问控制列表: ...
- Sql获取数据表字段说明
SELECT Sysobjects.name AS TABLE_NAME , syscolumns.Id , syscolumns.name AS COLUMN_NAME , systypes.nam ...
- 我给女朋讲编程网络系列(2)--IIS8 如何在本地发布网站
通过IIS8 在本地发布网站,一个截图,你就全明白了,越是简单,越是实用. 如果有现成的网站,就将你的网站放到一个文件夹中,比如WebTest2中. 如何没有网站,可以在WebTest2中新建一个in ...
- 34、Java集合框架List,Map,Set等全面介绍(转载)
Java Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构. Java集合框架的基本接口/类层次结构: java.util.C ...
- Python 操作 SQLite 数据库
写在之前 SQLite 是一个小型的关系型数据库,它最大的特点在于不需要单独的服务.零配置.我们在之前讲过的两个数据库,不管是 MySQL 还是 MongoDB,都需要我们安装.安装之后,然后运行起来 ...
- web访问流程
客户端发送请求—->httpd得到请求—->httpd解析请求的格式(html,css,jsp)—->请求相应的PHP解析—->PHP解析程序执行完毕—–>db(数据库) ...
- poj2002 hash+邻接表优化Squares
Squares Time Limit: 3500MS Memory Limit: 65536K Total Submissions: 17487 Accepted: 6643 Descript ...
- Python脚本获取Linux系统信息
# -*- coding:utf-8 -*- import os import subprocess import re import hashlib #对字典取子集 def sub_dict(for ...