下面上**,為了便於理解,特意在**後新增了注釋。希望有所幫助。
import psutil
import re
import sys
import os
import time
import logging
import subprocess
logging.basicconfig(level=logging.info,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %y %h:%m:%s',
filename='pid.log',
filemode='a') #日誌配置
logging.debug('----------------------------------------------init----------------')
process_re = re.compile("pid=\d,\sname='\s'") #採用正則,獲取資料 pid=x/xx/***/***x, name=[1~20個字元,不是空格]
pidnothandle = list(psutil.process_iter()) #獲取當前計算機的pid
pid =
pidname =
foreach in pidnothandle:
a = str(each) #each 是 class型別,可用type(each)檢視型別
print(a) #資料樣式為:psutil.process(pid=0, name='system idle process')
foreach in pid:
print(each)
b = each.find("name") #獲取name的位置;name='system idle process'
c = each[b+6:-1] #獲取name值;system idle process
#print(c)
if c == "orgtomcat.exe": #目標服務名稱為:orgtomcat.exe
d = each.find("pid") #獲取物件的位置;pid=0, name='system idle process'
e = each[d+4:b-2] #獲取pid的值:0
print("pid:",e) #列印目標服務的pid
unread = os.popen('tasklist | findstr '+ e) #檢視占用該pid的有哪些服務
logging.info(unread.read())
print('read1:',unread.read())
unread2 = os.popen('taskkill /pid %s /f' % e) #殺掉該pid的服務
read2 = unread2.read()
print('read2:',read2)
time.sleep(10)
unread3 = os.popen('net start "apache tomcat 7.0 orgtomcat"') #重新啟動服務名稱為:『apache tomcat 7.0 orgtomcat』服務
print('read3:',unread3.read())
logging.info(unread3.read())
break
#for i in range(len(pid)):
#pid[pid[i].find(name)+6:]
#print()
#type(pid[-1])
#pid[-1].find('name')
#b = pid[-1]
#b.find('name')
程式執行結果圖:
cmd視窗命令執行圖:
積分怎麼獲取
積分怎麼獲取?你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展...
怎麼獲取積分
怎麼獲取積分 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展...
怎麼獲取 經驗怎麼獲取?如何快速運用
很簡單,就是因為你經驗不足,根本沒有落地過此類這樣的事情。如果說,你真正有這樣的經歷,實操經驗,你還會無法落地嗎?很顯然,絕對不會。經驗怎麼獲取?如何快速運用。首先 1,你必須明白人性2,你如果很容易通透背後的本質原理。你也可以很容易應用。當然,生活中能做到這2條的人,基本上也不會讀這本分享了。大多...