簡體   English   中英

使用Python進行Windows進程管理

[英]Windows process management using Python

我需要一個腳本來檢查特定進程是否正在運行,如果找不到則返回一些內容。 我知道這可以使用子進程完成,但是有更簡單的方法嗎?

在Windows上,您可以使用WMI:

import win32com.client

def find_process(name):
    objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
    objSWbemServices = objWMIService.ConnectServer(".", "root\cimv2")
    colItems = objSWbemServices.ExecQuery(
         "Select * from Win32_Process where Caption = '{0}'".format(name))
    return len(colItems)

print find_process("SciTE.exe")

出於類似的目的,我使用了psutil庫。 一些提示:

  • 使用psutil.pids()列出進程( 參考
  • 使用process = psutil.Process(pid)檢查進程信息( 參考
  • do process.killprocess.terminate()

在Windows上安裝 - pip將從源代碼進行安裝(這意味着編譯),因此您可能希望從https://pypi.python.org/pypi/psutil/#downloads下載二進制安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM