python - 使用 Python 在 Windows 10 上列出本地运行的服务?

标签 python windows service

我需要做的就是创建一个程序,列出我的 Windows 机器上所有正在运行的服务。我尝试了很多方法,包括 psutil 都无济于事。从那以后,我试图通过执行“net stat”命令来简化它。它有效,但输出是乱码。有没有办法把它保存到一个漂亮整洁的文本文件中?另外,我想在每一行旁边添加“运行”一词。当我尝试添加时,出现以下错误:

文件“./Python37/test3.py”,第 3 行,位于 print(str(result.stdout + 'running')) 类型错误:无法将 str 连接到字节

到目前为止,这是我的代码:

import subprocess
result = subprocess.run(['net', 'start'], stdout=subprocess.PIPE)
print(str(result.stdout + 'running'))

最佳答案

使用EnumServicesStatus像这样的 API:

import win32con
import win32service

def ListServices():
    resume = 0
    accessSCM = win32con.GENERIC_READ
    accessSrv = win32service.SC_MANAGER_ALL_ACCESS

    #Open Service Control Manager
    hscm = win32service.OpenSCManager(None, None, accessSCM)

    #Enumerate Service Control Manager DB
    typeFilter = win32service.SERVICE_WIN32
    stateFilter = win32service.SERVICE_STATE_ALL

    statuses = win32service.EnumServicesStatus(hscm, typeFilter, stateFilter)

    for (short_name, desc, status) in statuses:
        print(short_name, desc, status) 

ListServices();
  • win32service 和 win32con 是 pywin32 开源项目的一部分,您可以下载最新版本 here .

关于python - 使用 Python 在 Windows 10 上列出本地运行的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52341845/

相关文章:

android - 在android中无限运行服务

python - 从 openCV 轮廓创建路径

python - 将按键发送到嵌入式 Pygame

python - 了解 `not` 运算符的优先级

android - 禁用后应用程序仍在运行

unit-testing - 如何在Grails(Spock)中模拟用于单元测试的服务器?

python - 龙精湛的 opengl 示例的 python 中的 lookat 矩阵乘法函数是什么?

linux - Linux 中 t32.exe 文件的用途是什么?

c++ - 以编程方式查找 Windows 操作系统卷?

php - 不同的操作系统和服务器路径