У меня есть приложение python для командной строки, которое является службой, т.е. оно ожидает соединений и делает что-то, когда его спрашивают, например, веб-сервер. Есть библиотека python-daemon
для решения всех проблем с отсоединением от терминала, разветвлением и т.д., но я хотел бы пойти немного дальше - чтобы программа делала следующее:
- Узнайте, запущен ли он уже или нет (проверив файл PID)
- При вызове с параметром «запуск» он должен запустить демон, если он не запущен, или сообщить PID существующего и выйти, если он запущен.
- При вызове с опцией «стоп» он должен убить запущенный экземпляр, если он существует, и очистить файл PID.
- При вызове с опцией «перезагрузка» он должен «стоп», затем «старт».
- При вызове с параметром «статус» он должен отображать PID запущенного экземпляра или ничего, если он не запущен.
Если это выглядит как стандартная служба Unix — это именно то, что мне нужно. Есть ли библиотека Python, которая реализует такой шаблон?