TL; DRバージョン:Pasterに停止デーモンを要求すると、プロセスIDの追跡に使用する独自のファイルの読み取りに失敗します。
長いバージョン:
WindowsVistaのPython2.7.1でPaster(pastescript 1.7.3)を実行しています。
私の最初の驚きは、単純なWebサイトを運営していることです。
>paster serve development.ini
Starting server in PID 15184.
serving on http://127.0.0.1:5000
同じディレクトリにpaster.pidファイルが見つかると思っていましたが、見つかりませんでした。奇数。気にしないで、そのプロセスを強制終了してやり直すことで、明示的にしましょう。
>paster serve development.ini --pid-file=my.pid
Starting server in PID 20884.
serving on http://127.0.0.1:5000
今回は、my.pidというファイルを作成します。別のコマンドウィンドウで、次のように入力できます。
>type my.pid
20884
Webサイトは正常に提供されており、タスクマネージャーはPID20884で実行されているPythonプロセスがあることを確認しています。
それでは、デーモンのステータスについて報告するように牧師に依頼しましょう。
>paster serve development.ini --status --pid-file=my.pid
PID None in my.pid is not running
>type my.pid
20884
奇数。my.pid内のPIDはNone
、そうではないのに、であると主張します。
シャットダウンしましょう。
>paster serve --stop-daemon --pid-file=my.pid
PID in my.pid is not valid (deleting)
>type my.pid
The system cannot find the file specified.
そのため、my.pidを読み取ろうとしましたが、読み取れず、フラストレーションを感じて削除しました。
その間、デーモンは実行を続けます。
パスターデーモンを手動で強制終了する必要があります。これは、@LennartRegebroが同様の詳細ではない質問で推奨していることです。テストの一環としてこれを自動化したいので、よりクリーンなソリューションを見つけたいと思っています。
助言がありますか?