私はサービスであるコマンドラインPythonアプリを持っています-つまり、接続を待機し、要求されたときにWebサーバーのように処理を実行します。ターミナルからの切り離し、フォークなどのすべての問題を処理するためのpython-daemon
ライブラリがありますが、もう少し進んで、プログラムに次のことを実行させたいと思います。
- (PIDファイルをチェックして)すでに実行されているかどうかを確認します
- 'start'オプションを指定して呼び出すと、デーモンが実行されていない場合はデーモンを起動するか、既存のデーモンのPIDを通知して、実行中の場合は終了する必要があります。
- 'stop'オプションを指定して呼び出すと、実行中のインスタンスが存在する場合はそれを強制終了し、PIDファイルをクリーンアップする必要があります。
- 'restart'オプションを指定して呼び出すと、'stop'、次に'start'を実行する必要があります
- 'status'オプションを指定して呼び出すと、実行中のインスタンスのPIDが表示されるか、実行されていない場合は何も表示されません。
それが標準のUnixサービスのように見えるなら、それはまさに私が望んでいることです。そのようなパターンを実装するPythonライブラリはありますか?