(OS:Windows7)
SC.EXE を使用して Windows サービスを作成しました。さらに、アプリケーション パスを指定するために必要なレジストリ エントリを作成しました (主要なパラメーターを使用)。
「アプリケーション」は、いくつかの環境変数を設定してから Python スクリプトを呼び出す .BAT ファイルです。CMD 内から直接 .BAT ファイルを実行すると、通常の望ましい動作が得られます。
Service Manager を使用して、サービスを開始および停止できます (CMD から直接発行された SC.EXE でも機能します)。すべて問題ありません。警告やエラー、その他の情報は (イベント ログに) 表示されません。
BAT ファイルは実行されません。アプリケーションパスを再確認し、サービス名を再確認しました。
- 修正: BAT ファイルが実際に実行されます (BAT ファイル内から単純なログ ファイルが作成されます)。どうやらうまくいかないのは、BAT ファイルの最後のコマンドとして python.exe を実行することです。ログファイル、イベントログエントリが表示されないため、python.exe によって生成されたエラーを確認できません...
BAT ファイルの内容:
@ECHO OFF
REM ==========================================================================
REM ProcessIntergrationBridge Microsoft Windows Service Shell Script
REM ==========================================================================
SET CONSEQUOR_PIB_HOME=C:\opt\consequor\pib
SET CONSEQUOR_PIB_VERSION_DESIGNATOR=pib_b0100
SET CONSEQUOR_PIB_DATA=C:\var\opt\consequor\pib
SET CONSEQUOR_PIB_LOG=C:\var\opt\consequor\pib\log
SET CONSEQUOR_PIB_LOG_FILE=C:\var\opt\consequor\pib\log\pib.log
SET PYTHONPATH=C:\opt\consequor\pib\%CONSEQUOR_PIB_VERSION_DESIGNATOR%
SET PYTHONHOME=C:\opt\consequor\pib\python-runtime\win
SET PATH=%CONSEQUOR_PIB_HOME%\%CONSEQUOR_PIB_VERSION_DESIGNATOR%\bin;%CONSEQUOR_PIB_HOME%\python-runtime\win;CONSEQUOR_PIB_HOME%\python-runtime\win\DLLs;CONSEQUOR_PIB_HOME%\python-runtime\win\libs;CONSEQUOR_PIB_HOME%\python-runtime\win\Lib;%PATH%
SET CMD=%PYTHONHOME%\pythonw.exe %CONSEQUOR_PIB_HOME%\%CONSEQUOR_PIB_VERSION_DESIGNATOR%\%CONSEQUOR_PIB_VERSION_DESIGNATOR%\start_pib\pib_run_server.py debug
%CMD%
PIBD サービス レジストリ エントリ: (ああ、Merde Alors - まだ写真を投稿できません... - 誰かが見たい場合は、直接メールで送信できます...)
これをデバッグ、修正、変更する方法についてのヒントをありがとうございます。
敬具
Frank - Windows の謎を理解しようと何日も費やしてきました。