Я пытаюсь написать программу python, которая может получить словарь услуг на машине (linux или windows).
Любая запись в словаре состоит из пар {Service: Status}.
Эта программа будет запускаться каждую секунду от пользователя.
Я понял, что модуль psutils предоставляет правильные инструменты, потому что это простота и кроссплатформенность.
Таким образом, я написал этот код ниже. Этот код получает информацию из системы.
def getServiceDict():
dict = {}
if os.name == "nt":
for service in psutil.win_service_iter():
dict[service.name()] = service.status()
elif os.name == "posix":
for pid in psutil.pids():
name = psutil.Process(pid).name()
status = psutil.Process(pid).status()
dict[name] = status
return list
Как видите, список сервисов в windows довольно прост, но на linux я нашел только способ перечислить процессы, а не сервисы .
Как отличить процессы от служб в linux?
Есть ли атрибут, к которому я могу получить доступ через psutils? Может другой модуль?