3

私はサービスであるコマンドラインPythonアプリを持っています-つまり、接続を待機し、要求されたときにWebサーバーのように処理を実行します。ターミナルからの切り離し、フォークなどのすべての問題を処理するためのpython-daemonライブラリがありますが、もう少し進んで、プログラムに次のことを実行させたいと思います。

  1. (PIDファイルをチェックして)すでに実行されているかどうかを確認します
  2. 'start'オプションを指定して呼び出すと、デーモンが実行されていない場合はデーモンを起動するか、既存のデーモンのPIDを通知して、実行中の場合は終了する必要があります。
  3. 'stop'オプションを指定して呼び出すと、実行中のインスタンスが存在する場合はそれを強制終了し、PIDファイルをクリーンアップする必要があります。
  4. 'restart'オプションを指定して呼び出すと、'stop'、次に'start'を実行する必要があります
  5. 'status'オプションを指定して呼び出すと、実行中のインスタンスのPIDが表示されるか、実行されていない場合は何も表示されません。

それが標準のUnixサービスのように見えるなら、それはまさに私が望んでいることです。そのようなパターンを実装するPythonライブラリはありますか?

4

1 に答える 1

1

私はこのレシピを使用しました。かなりうまくいきます。

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

于 2010-12-17T00:36:01.173 に答える