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