精华内容
下载资源
问答
  • 今天小编就为大家分享一篇python psutil监控进程实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python监控进程脚本

    2020-09-20 15:11:31
    主要为大家详细介绍了python监控进程脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 如果有一个工具能够实现每台机器上多个进程的简单高效中心化管理将是非常方便的。于是Supervisord工具应运而生。Supervisord类似的工具包括monit, daemontools和runit。下面话不多说了,来一起看看详细的介绍吧。 ...
  • supervisor虽然也能拉起来logstash进程,但是有时候supervisor也会挂,也有时会拉不起,就算拉起来了也没有邮件告警功能 ,所以编写一个python脚本监控所有服务器,以下代码只列举了一台服务器,需要更多服务器在...
  • 今天小编就为大家分享一篇python监控进程状态,记录重启时间及进程号的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要为大家详细介绍了python3实现windows下同名进程监控,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python 监控进程

    千次阅读 2018-08-21 14:40:36
    import threading import time import os import subprocess def get_process_count(imagename): p = os.popen('tasklist /FI "IMAGENAME eq %s"' % imagename) return p.read().count(imagename) ...
    import threading
    import time
    import os
    import subprocess
    
    
    def get_process_count(imagename):
        p = os.popen('tasklist /FI "IMAGENAME eq %s"' % imagename)
        return p.read().count(imagename)
    
    
    def timer_start():
        t = threading.Timer(1, watch_func, ("is running...",))
        t.start()
    
    
    def watch_func(msg):
        print("I'm watch_func,", msg)
        if get_process_count('UE4Editor.exe') == 0:
            print(subprocess.Popen([r'E:\UE_4.19\Engine\Binaries\Win64\UE4Editor.exe']))
        timer_start()
    
    
    if __name__ == '__main__':
        # print(get_process_count('UE4Editor.exe'))
        timer_start()
        while True:
            time.sleep(1)
    
    展开全文
  • 主要介绍了python实现监控linux性能及进程消耗性能的方法,需要的朋友可以参考下
  • 主要为大家详细介绍了python监控nginx端口和进程状态,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python监控进程

    2016-04-11 10:04:15
    import psutil import subprocess import os from os.path import join,getsize import re import time from subprocess import PIPE counter=0 filesize_last=0 def restart_process(): ... ha
    import psutil
    import subprocess
    import os
    from os.path import join,getsize
    import re
    import time
    from subprocess import PIPE
    
    
    
    counter=0
    filesize_last=0
    def restart_process():
            haspro = 0
            all_process_name = psutil.pids();
            for pid in all_process_name:
                    pro = psutil.Process(pid)
                    print("process_name : ",pro.name());
                    if():
                            pass
                    if(pro.name() == "test_tdb.exe"):
                            haspro=haspro+1
                            pro.kill()
                            os.popen("E:/data/tdb/code/test_tdb.exe")
                            break
            if(haspro==0):
                    os.popen("E:/data/tdb/code/test_tdb.exe")
    #                        time.sleep(5)
    while(counter>=0):
          filesize = getsize(r"e:\log.csv")
          if(counter>0):
                    if(filesize==filesize_last):
                            print("EQUAL!")
                            restart_process()
                            counter=0
                    if(filesize!=filesize_last):
                            print("NOT EQUAL!")
                            counter=0
                            pass
          if(counter==0):
                    filesize_last = filesize
                    counter=counter+1
                    time.sleep(300)
    
    #p = subprocess.Popen('D:/project/server/bin/Debug/test_tdb.exe', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT);
    #returncode = p.poll()
    #while returncode is None:
    #        line = p.stdout.readline()
    #        returncode = p.poll()
    #        line = line.strip()
     #       print ('line : ',line);
    #        print ('returncode : ',returncode);
    #        if(line == b'Could not create log file: No such file or directory'):
    #                pass
    
                            #os.popen("D:/project/server/bin/Debug/test_tdb.exe",'r',-1)
                    #os.system('D:/project/server/bin/Debug/test_tdb.exe')
                   # p1=psutil.Popen(["D:/project/server/bin/Debug/test_tdb.exe"],stdout=PIPE)
    #process_list = psutil.get_process_list()
    #print("process_list : ",process_list);
    
    #all_process_name = psutil.pids();
    #print("all_process_name= ",all_process_name);
    #for pid in all_process_name:
    #        pro = psutil.Process(pid);
     #if(counter == 0):
                    #print ('There are %.2f ' %(filesize/1024),'Kb')
    #
     #               if(pro.name() == "test_tdb.exe"):
      #                      counter = counter+1
      #                      pro.kill();
       #                     os.popen("D:/project/server/bin/Debug/test_tdb.exe")
        #                    time.sleep(5);
    


     

    展开全文
  • Supervisor 是一个类 unix 操作系统下的进程监控管理工具。 安装 Supervisor Supervisor 是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Index) 直接安装: 复制代码 代码如下: sudo pip ...
  • 做服务器端开发的同学应该都对进程监控不会陌生,最近恰好要更换 uwsgi 为 gunicorn,而gunicorn又恰好有这么一章讲进程监控,所以多研究了下。 结合之前在腾讯工作的经验,也会讲讲腾讯的服务器监控是怎么做的。...
  • python守护进程监控hive server

    千次阅读 2012-05-08 13:36:35
    1. 首先将hive thrift server添加到系统服务后台运行 添加方法地址...2. 利用python daemon守护进程监控hive server进程 ,代码如下 #!/usr/bin/env python import sys, os, time, atexit, string

    1.  首先将hive thrift server添加到系统服务后台运行    添加方法地址http://jiedushi.blog.51cto.com/673653/608990

    2.   利用python daemon守护进程监控hive server进程 ,代码如下

    #!/usr/bin/env python
    
    import sys, os, time, atexit, string
    from signal import SIGTERM
    
    class Daemon:
        def __init__(self, pidfile, stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'):
            self.stdin = stdin
            self.stdout = stdout
            self.stderr = stderr
            self.pidfile = pidfile
    
        def _daemonize(self):
            try:
                pid = os.fork()
                if pid > 0:
                    sys.exit(0)
            except OSError, e:
                sys.stderr.write('fork #1 failed: %d (%s)\n' % (e.errno, e.strerror))
                sys.exit(1)
            os.setsid()
            os.chdir("/")
            os.umask(0)
    
            try:
                pid = os.fork()
                if pid > 0:
                    sys.exit(0)
            except OSError, e:
                sys.stderr.write('fork #2 failed: %d (%s)\n' % (e.errno, e.strerror))
                sys.exit(1)
    
            sys.stdout.flush()
            sys.stderr.flush()
            si = file(self.stdin, 'r')
            so = file(self.stdout, 'a+')
            se = file(self.stderr, 'a+', 0)
            os.dup2(si.fileno(), sys.stdin.fileno())
            os.dup2(so.fileno(), sys.stdout.fileno())
            os.dup2(se.fileno(), sys.stderr.fileno())
    
            atexit.register(self.delpid)
            pid = str(os.getpid())
            file(self.pidfile,'w+').write('%s\n' % pid)
    
        def delpid(self):
            os.remove(self.pidfile)
    
        def start(self):
            try:
                pf = file(self.pidfile,'r')
                pid = int(pf.read().strip())
                pf.close()
            except IOError:
                pid = None
    
            if pid:
                message = 'pidfile %s already exist. Daemon already running?\n'
                sys.stderr.write(message % self.pidfile)
                sys.exit(1)
    
            self._daemonize()
            self._run()
    
        def stop(self):
            try:
                pf = file(self.pidfile,'r')
                pid = int(pf.read().strip())
                pf.close()
            except IOError:
                pid = None
    
            if not pid:
                message = 'pidfile %s does not exist. Daemon not running?\n'
                sys.stderr.write(message % self.pidfile)
                return
    
            try:
                while 1:
                    os.kill(pid, SIGTERM)
                    time.sleep(0.1)
                    os.system("kill -9 `jps|grep RunJar|awk '{print $1}'`")
            except OSError, err:
                err = str(err)
                if err.find('No such process') > 0:
                    if os.path.exists(self.pidfile):
                        os.remove(self.pidfile)
                else:
                    print str(err)
                    sys.exit(1)
    
        def restart(self):
            self.stop()
            self.start()
    class MyDaemon(Daemon):
        def _run(self):
            while True:
                proccess = os.popen("jps|grep RunJar|awk '{print $1}'|wc -l").read().strip()
                port = os.popen("netstat -tnl|grep 10000|awk '{print $4}'|grep 10000|wc -l").read().strip()
                if proccess == '0':
                    os.system('service hive-thrift start')
                time.sleep(2)
    if __name__ == '__main__':
                    daemon = MyDaemon('/tmp/watch_process.pid')
                    if len(sys.argv) == 2:
                                    if 'start' == sys.argv[1]:
                                                    daemon.start()
                                    elif 'stop' == sys.argv[1]:
                                                    daemon.stop()
                                    elif 'restart' == sys.argv[1]:
                                                    daemon.restart()
                                    else:
                                                    print 'Unknown command'
                                                    sys.exit(2)
                                    sys.exit(0)
                    else:
                                    print 'usage: %s start|stop|restart' % sys.argv[0]
                                    sys.exit(2)

    将代码保存为hivemonitor.py  赋予可执行权限

    chmod +x hivemonitor.py

    运行脚本./hivemonitor.py  start


    上面脚本在centos 5.8  python 2.7环境测试通过


    脚本参考 http://www.vimer.cn/2010/08/%E7%94%A8python%E7%BC%96%E5%86%99linux%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B.html


    展开全文
  • python psutil监控进程

    千次阅读 2016-04-01 10:52:09
    import psutil import subprocess import os from os.path import join,getsize import re import time from subprocess import PIPE counter=0 filesize_last=0 def restart_process(): haspro = 0
    import psutil
    import subprocess
    import os
    from os.path import join,getsize
    import re
    import time
    from subprocess import PIPE
    
    
    
    counter=0
    filesize_last=0
    def restart_process():
            haspro = 0
            all_process_name = psutil.pids();
            for pid in all_process_name:
                    pro = psutil.Process(pid)
                    print("process_name : ",pro.name());
                    if():
                            pass
                    if(pro.name() == "test_tdb.exe"):
                            haspro=haspro+1
                            pro.kill()
                            os.popen("E:/data/tdb/code/test_tdb.exe")
                            break
            if(haspro==0):
                    os.popen("E:/data/tdb/code/test_tdb.exe")
    #                        time.sleep(5)
    while(counter>=0):
          filesize = getsize(r"e:\log.csv")
          if(counter>0):
                    if(filesize==filesize_last):
                            print("EQUAL!")
                            restart_process()
                            counter=0
                    if(filesize!=filesize_last):
                            print("NOT EQUAL!")
                            counter=0
                            pass
          if(counter==0):
                    filesize_last = filesize
                    counter=counter+1
                    time.sleep(300)
    
    #p = subprocess.Popen('D:/project/server/bin/Debug/test_tdb.exe', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT);
    #returncode = p.poll()
    #while returncode is None:
    #        line = p.stdout.readline()
    #        returncode = p.poll()
    #        line = line.strip()
     #       print ('line : ',line);
    #        print ('returncode : ',returncode);
    #        if(line == b'Could not create log file: No such file or directory'):
    #                pass
    
                            #os.popen("D:/project/server/bin/Debug/test_tdb.exe",'r',-1)
                    #os.system('D:/project/server/bin/Debug/test_tdb.exe')
                   # p1=psutil.Popen(["D:/project/server/bin/Debug/test_tdb.exe"],stdout=PIPE)
    #process_list = psutil.get_process_list()
    #print("process_list : ",process_list);
    
    #all_process_name = psutil.pids();
    #print("all_process_name= ",all_process_name);
    #for pid in all_process_name:
    #        pro = psutil.Process(pid);
     #if(counter == 0):
                    #print ('There are %.2f ' %(filesize/1024),'Kb')
    #
     #               if(pro.name() == "test_tdb.exe"):
      #                      counter = counter+1
      #                      pro.kill();
       #                     os.popen("D:/project/server/bin/Debug/test_tdb.exe")
        #                    time.sleep(5);
    


     
    
    展开全文
  • 今天小编就为大家分享一篇使用 Supervisor 监控 Python3 进程方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 【Supervisor】Python 进程管理工具

    千次阅读 2016-09-03 15:22:35
    【1】Supervisor是Python开发的进程管理工具(Client/Server系统),可以管理监控Unix,Linux,Mac OS X 系统上的进程,无法运行在Windows上 【2】Supervisor官方版目前只能在Python2.4以上版本运行,但是还无法...
  • python3 监控指定进程 cpu和内存 使用率.pdf
  • Python-进程管理Supervisord

    千次阅读 2017-09-19 20:53:02
    Supervisord是一个用Python实现的进程管理工具,可以很方便地启动、重启、关闭、查看进程(不仅仅是Python进程)。除了对单个进程的控制,它还可以同时操作多个进程。除此之外它还能监控进程,当进程由于某种原因崩溃...
  • 上回书说到,Supervisor进程监控之役,在下先取sendmail,再克Superlance,兵峰所指,所向披靡。却不知Supervisor大本营暗藏杀招,不输出非直接子进程的异常信息,一举扭转战局,我军兵败如山倒,最终劳民伤财...
  • 使用supervisord管理python进程

    千次阅读 2015-08-23 21:40:33
    使用supervisord管理python进程 1. 简单介绍: supervisord是一个c/s系统,它允许用户在UNIX系统中监控和控制一系列进程。 supervisordmonit类似,都可以对进程进行监控 区别在于: supervisord管理进程必须...
  • 使用 Supervisor 监控 Python 3 进程

    千次阅读 2018-07-24 14:49:15
    使用 Supervisor 监控 Python 3 进程 首先说明,Supervisor 只能安装在 Python 2.x 环境中! 但是基本上所有的 Linux 都同时预装了 Python 2.x 和 Python 3.x 版本,并且调用 python 命令时默认运行的 Python 2,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,084
精华内容 18,833
关键字:

python进程监控与管理

python 订阅