сервисная библиотека python unix - PullRequest
3 голосов
/ 17 декабря 2010

У меня есть приложение Python для командной строки, которое является службой - то есть оно ожидает подключения и выполняет какие-то действия по запросу, например, веб-сервер. Есть библиотека python-daemon для решения всех вопросов отсоединения от терминала, разветвления и т. Д., Но я хотел бы пойти немного дальше - чтобы программа сделала следующее:

  1. Узнайте, работает ли он уже (проверяя файл PID)
  2. Когда вызывается с опцией 'start', он должен запустить демон, если он не запущен, или сообщить PID о существующем и выйти при запуске.
  3. При вызове с параметром «stop» он должен уничтожить работающий экземпляр, если он существует, и очистить файл PID.
  4. При вызове с параметром «restart» он должен выполнить «stop», затем «start»
  5. При вызове с параметром «status» он должен отображать PID запущенного экземпляра или ничего, если он не запущен.

Если это похоже на стандартный сервис Unix - это именно то, что я хочу. Есть ли библиотека Python, которая реализует такой шаблон?

1 Ответ

1 голос
/ 17 декабря 2010

Я использовал этот рецепт. Работает довольно хорошо.

http://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/

...