python 学习类的脚本--参考

#!/usr/bin/env python
#encoding:utf-8
import os
import sys
import time
import subprocess

class myclass:
      print ‘‘‘ \033[32;1m
###########################################################################
JAVA module:                                                              #
  feinnoopen_01 media_ims_01 mop_ims_download_01 osp_ims_01 ippbx_ims_01  #
  mop_ims_01 mop_ims_download_01 msms_gw_01 portal_ims_01 sso_ims_01      #
                                                                          #
C module:                                                                 #
  ap cagw dbproxy egm ft gd gm im logserver msrp msrpgw ps robot sbc      #
  soap soap_proxy ss stg                                                  #
########################################################################### \033[0m
         ‘‘‘
      def __init__(self):
          self.name=sys.argv[1]
          self.file=sys.argv[0]
          self.modstat = "ps -ef|grep -v grep|grep -v %s|grep %s|awk ‘{print $2}‘" %(self.file,self.name)
          self.modname="kill -9 `ps -ef|grep -v grep|grep -v %s|grep %s|awk ‘{print $2}‘`" %(self.file,self.name)
          self.start="/EUT/internal/webapp/%s/bin/startup.sh;tail -f /EUT/internal/webapp/%s/logs/catalina.out" %(self.name,self.name)    
          self.cache="rm -rf /EUT/internal/webapp/%s/work/Catalina/*" %(self.name)    
          self.cmodstat = "ps -ef|grep -Ev ‘grep|supervise‘|grep -v %s|grep -w %s_01|awk ‘{print $2}‘" %(self.file,self.name)
          self.cmodname="kill -9 `ps -ef|grep -Ev ‘grep|supervise‘|grep -v %s|grep -w %s_01|awk ‘{print $2}‘`" %(self.file,self.name)
          self.cstart="cd /EUT/internal/pgm/%s/%s_01;nohup ./bin/%s_01 &" %(self.name,self.name,self.name)
          self.jlist=["feinnoopen_01", "media_ims_01", "mop_ims_download_01", "osp_ims_01", "ippbx_ims_01", "mop_ims_01", "mop_ims_download_01", "msms_gw_01", "portal_ims_01", "sso_ims_01"]
          self.clist=["ap", "cagw", "dbproxy", "egm", "ft", "gd", "gm", "im", "logserver", "msrp", "msrpgw", "ps", "robot", "sbc", "soap", "soap_proxy", "ss", "stg"]
          self.pid="ps -ef|grep -Ev ‘grep|supervise‘|grep -v %s|grep -w %s_01" %(self.file,self.name)  
          self.jpid="ps -ef|grep -v grep|grep -v %s|grep %s" %(self.file,self.name)

      def stat(self):
          return os.popen(self.modstat).readlines()

      def run(self):
          subprocess.call(self.start, shell=True)
   
      def clear(self):
          subprocess.call(self.cache, shell=True)
      
      def kill(self):
          subprocess.call(self.modname, shell=True)           
      
      def cstat(self):
          return os.popen(self.cmodstat).readlines()
   
      def crun(self):
          subprocess.call(self.cstart, shell=True)

      def ckill(self):
          subprocess.call(self.cmodname, shell=True) 
    

if __name__=="__main__" :
  
    
  try:
     p=myclass()
     
     #print p.clist
     if p.name in p.jlist:
        print "============="
        print p.name 
        print "============="
        result=p.stat()

        if len(result) == 0:
            print "\033[32;1m%s模块没有启动 \033[0m" %p.name
            print "\033[32;1m开始清缓存 \033[0m"
            p.clear()
            time.sleep(2)
            print "\033[32;1m启动模块%s \033[0m" %p.name
            p.run()     
        else:
            print "\033[32;1m停止%s模块  \033[0m" %p.name
            p.kill()
            print "\033[32;1m开始清缓存  \033[0m"
            p.clear()
            time.sleep(2) 
            print "\033[32;1m启动%s模块 \033[0m" %p.name
            p.run()         

     elif p.name in p.clist:
        print "============"
        print p.name
        print "============"
        cresult=p.cstat()
       
        if len(cresult) == 0:
           print "\033[32;1m%s模块没有启动 \033[0m" %p.name
           p.crun()     
        else:
           print "\033[32;1m%s模块进程存在 \033[0m" %p.name
           #time.sleep(1)
           print "\033[32;1m杀死进程%s \033[0m" %p.name
           p.ckill()
          # time.sleep(2)
           print "\033[32;1m开始启动进程%s \033[0m" %p.name
           p.crun() 
           time.sleep(1)
           print "\033[32;1m进程%s已启动,列出进程ID \033[0m" %p.name
           os.system(p.pid) 
     else:
        print "\033[31;1m%s 不存在,兄弟请参照列表输入模块名字 \033[0m" %p.name
          

  
  except KeyboardInterrupt:
     print "\033[31;1m退出日志监听!!!\033[0m"

     print "\033[32;1m列出%s进程:\033[0m" %p.name
     os.system(p.jpid)  
   
  except:
     print "\033[31;1m请输入你的模块: \033[0m"
时间: 2024-10-05 19:57:17

python 学习类的脚本--参考的相关文章

Python 远程调用脚本之 RPC

最近有个监控需求,需要远程执行集群每个节点上的脚本,并获取脚本执行结果,为了安全起见不需要账号密码登陆主机,要求只需要调用远程脚本模块的方法就能实现. 总结下python进行远程调用脚本方法: 登陆主机执行脚本,python模块支持如 pssh.pexpect.paramiko 以远程方法调用(不需要登陆主机),python模块 rpyc,支持分布式 socket 方式,稍显复杂,需要熟悉网络协议,起点比较高 rpyc支持远程调用.分布式计算,以较少代码量实现需复杂socket编程,本文主要介绍

【VR】Leap Motion 官网文档 脚本参考(目录)

前言: 本系列译文是为迎合Unity VR的热潮与大家的学习需要,推出的针对Unity方向的Leap Motion官方文档中英对照翻译. 本篇第四篇 <脚本参考> 以目录链接的形式列出了Leap Motion为Unity提供的核心资源包中所包含的脚本定义的类. 关于每个类的详细内容后续献上,敬请期待. 英文原文网址:https://developer.leapmotion.com/documentation/unity/unity/Unity_Classes.html 译文首发&持续更

Python SVN 更新 脚本

#configs PROJECTS = { "away3d":"svn://svnurl/away3d", "Away3DUCtrl":"svn://svnurl/Away3DUCtrl", "Editor":"svn://svnurl/Editor", "EditorUI":"svn://svnurl/EditorUI", "Skill

python压缩文件脚本

zf.py文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 """ desc:读取配置文件config.ini压缩sourcepath路径到targetpath      并可以排除不需要压缩的文件excludefile time:2014/4/30 12:03:42 author:ggh """ import zipf

python注释、脚本参数、字节码

python注释.脚本参数.字节码 --道心 python安装 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右键计算机]-->[属性]-->[高级系统设置]-->[高级]-->[环境变量]-->[在第二个内容框中找到 变量名为Path 的一行,双击] --> [Python安装目录追加到变值值中,用 : 分割] 如:原来的值;C:\python27,切记前面有分号

Python统计nginx脚本信息

1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 import urllib2 4 import json 5 import subprocess 6 import threading 7 8 #统计10个最长访问的ip 9 ip_raw = subprocess.Popen("cut -d ' ' -f1 host.access.log.* | sort | uniq -c | sort -rn | head -n 10 | awk '{p

用 Python 替代 Bash 脚本(转)

add by zhj: 其实作者是想说用Python来做那些Bash实现起来比较麻烦的部分,即将Bash与Python结合使用. 英文原文:http://www.linuxjournal.com/content/python-scripts-replacement-bash-utility-scripts 作者:Richard Delaney 翻译原文:http://www.oschina.net/translate/python-scripts-replacement-bash-utility

python发送邮件的脚本

python发送邮件的脚本,带有邮件内容与附件,邮件内容为串格式,附件为文件.如果想把某个目录下的所有文件当作附件发送,那请去掉注释. 代码如下: #!/usr/bin/python #coding utf-8 from email.MIMEText import MIMEText from email.MIMEMultipart import MIMEMultipart from email.MIMEBase import MIMEBase from email import Utils, E

「python」: arp脚本的两种方法

「python」: arp脚本的两种方法 第一种是使用arping工具: #!/usr/bin/env python import subprocess import sys import re def arping(ipaddress = "192.168.1.1"): p = subprocess.Popen("/usr/sbin/arping -c 2 %s" % ipaddress, shell = True, stdout = subprocess.PIP