python监控进程

python 专栏收录该内容
2 篇文章 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);


 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值