Мониторинг процесса через psutil

4nk3r

Новичок
Пользователь
Ноя 24, 2021
3
1
3
  1. Указать свою операционную систему (Windows, Ubuntu, OSX...): Windows
  2. Указать версию Python (2.7, 3.5, 3.8): 3.8
  3. Укажите версию библиотек с которыми работаете, вставьте в спойлер вывод команды pip list:
    aiogram 2.16
    aiohttp 3.8.0
    aiosignal 1.2.0
    async-timeout 4.0.1
    attrs 21.2.0
    Babel 2.9.1
    certifi 2021.10.8
    charset-normalizer 2.0.7
    docxcompose 1.3.3
    docxtpl 0.14.2
    frozenlist 1.2.0
    idna 3.3
    Jinja2 3.0.3
    keyboard 0.13.5
    lxml 4.6.4
    MarkupSafe 2.0.1
    MouseInfo 0.1.3
    multidict 5.2.0
    pip 21.3.1
    psutil 5.8.0
    PyAutoGUI 0.9.53
    PyGetWindow 0.0.9
    PyMouse 1.0
    PyMsgBox 1.0.9
    pyperclip 1.8.2
    PyRect 0.1.4
    PyScreeze 0.1.28
    pyTelegramBotAPI 4.2.0
    python-docx 0.8.11
    pytweening 1.0.4
    pytz 2021.3
    requests 2.26.0
    setuptools 58.1.0
    six 1.16.0
    typing-extensions 3.10.0.2
    urllib3 1.26.7
    wheel 0.37.0
    yarl 1.7.2
  4. Вставьте фрагмент кода который у вас имеется на данный момент.

  5. Python:
    import psutil
    for proc in psutil.process_iter():          #Проверяет, запущена ли игра
        name = proc.name()
        if name == "csgo.exe":
            print(name)
            pass
  6. И так, всех приветсвую, дорогие форумчане, я делаю проверку на процесс, и нужно что б когда процесс был запущен выполнялось одно действие, а если
    же он не запущен, то выполнялось другое. Прошу помощи со второй частью задачи, так как в гугле решение не нашёл, либо не правильно поставил вопрос.


 

Paskudovets

Новичок
Пользователь
Ноя 24, 2021
7
0
3
Python:
if "csgo.exe" in map(lambda x: x.name(), psutil.process_iter()) :
    print()
else:
    print()
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 672
478
83
time.sleep добавил для наглядности, ну и проверял блокнот, а не кс го
Python:
import psutil
import time

while True:
    for proc in psutil.process_iter():          #Проверяет, запущена ли игра
        if proc.name() == "notepad.exe":
            print("Действие")
    time.sleep(1)
 
  • Мне нравится
Реакции: 4nk3r

4nk3r

Новичок
Пользователь
Ноя 24, 2021
3
1
3
time.sleep добавил для наглядности, ну и проверял блокнот, а не кс го
Python:
import psutil
import time

while True:
    for proc in psutil.process_iter():          #Проверяет, запущена ли игра
        if proc.name() == "notepad.exe":
            print("Действие")
    time.sleep(1)
Весьма благодарен за ваш ответ
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 672
478
83
Python:
if "csgo.exe" in psutil.process_iter():
    print()
else:
    print()
так не будет работать, так как psutil.process_iter() возвращает генератор...
 

Paskudovets

Новичок
Пользователь
Ноя 24, 2021
7
0
3
так не будет работать, так как psutil.process_iter() возвращает генератор...
Исправил
 

Paskudovets

Новичок
Пользователь
Ноя 24, 2021
7
0
3
In умеет итерировать
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 672
478
83
Python:
if "csgo.exe" in map(lambda x: x.name(), psutil.process_iter()) :
    print()
else:
    print()
да так лучше
 

4nk3r

Новичок
Пользователь
Ноя 24, 2021
3
1
3
Python:
if "csgo.exe" in map(lambda x: x.name(), psutil.process_iter()) :
    print()
else:
    print()
Воо, вот это работает, большое спасибо!
 
  • Мне нравится
Реакции: Paskudovets

Форум IT Специалистов