Skip to content
BlackGhostTimPublic

About

Служба WatchDog, сделана для школьного проекта, не судите строго, это мой первый проект.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation


WatchDog Service

WatchDog — это приложение-служба, которое контролирует список процессов, указанных в конфигурационном файле. Если какой-либо процесс завершится с ошибкой, WatchDog автоматически перезапустит его и запишет ошибку в лог. Программа поддерживает добавление новых процессов в список контроля во время выполнения.

Оглавление

Требования

  • Python 3.x (проверено на Python 3.8 и выше)
  • Операционная система: Windows, Linux или macOS
  • Установленные зависимости:
    • configparser (встроен в Python 3)
    • subprocess (встроен в Python 3)
    • logging (встроен в Python 3)

Установка

  1. Скачайте или клонируйте репозиторий:

    git clone https://github.com/ваш-репозиторий/WatchDog.git
  2. Перейдите в директорию проекта:

    cd WatchDog
  3. Убедитесь, что файл processes.ini находится в корневой директории.

Использование

  1. Запустите watchdog.py:

    python watchdog.py
  2. Программа прочитает конфигурационный файл processes.ini, запустит указанные процессы и начнёт их мониторинг.

  3. В случае ошибки программа попытается перезапустить процесс и запишет сообщение об ошибке в лог-файл watchdog.log.

Конфигурационный файл

Конфигурационный файл processes.ini содержит список процессов для мониторинга. Каждый процесс указывается в отдельной секции. Пример файла:

[Process1]
filename = notepad.exe
args = test_file.txt

[Process2]
filename = python
args = example_script.py

[Process3]
filename = chrome.exe
args = https://www.example.com

[Process4]
filename = calc.exe

[Process5]
filename = python
args = -m http.server 8080
  • filename — имя исполняемого файла или скрипта.
  • args — (опционально) параметры, которые передаются при запуске процесса.

Примечание: Параметры можно указывать без указания полного пути к файлу. Программа сначала ищет файл в текущей директории, затем — в системных путях.

Логирование

Все события записываются в файл watchdog.log. Лог содержит:

  • Метку времени
  • Уровень события (например, INFO, ERROR)
  • Сообщение об ошибке или успешном запуске процесса

Пример логов:

2024-10-08 21:53:43,704 - INFO - Attempting to start process notepad.exe with arguments: test_file.txt
2024-10-08 21:53:43,706 - ERROR - Failed to start process notepad.exe: [WinError 2] The system cannot find the file specified

Особенности

  • Кросс-платформенность: Программа работает на Windows, Linux и macOS.
  • Автоматический перезапуск: Если один из процессов завершится с ошибкой, программа попытается перезапустить его.
  • Гибкая настройка конфигурации: Можно добавлять процессы без указания полного пути и передавать параметры запуска.

About

Служба WatchDog, сделана для школьного проекта, не судите строго, это мой первый проект.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages