1

(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 - まだ写真を投稿できません... - 誰かが見たい場合は、直接メールで送信できます...)

PIBD レジストリ エントリ

PIBD パラメータ設定

これをデバッグ、修正、変更する方法についてのヒントをありがとうございます。

敬具

Frank - Windows の謎を理解しようと何日も費やしてきました。

4

2 に答える 2

0

このアプローチをお勧めします:

  1. システム ユーザーとしてセッション 0 でコマンド プロンプトを起動します。
  2. (Interactive Services Detection ダイアログまたはコマンド ラインから) セッション 0 に切り替えて、コマンド プロンプトを見つけます。
  3. コマンド ラインからバッチ ファイルを実行し、報告されているエラーを確認します。

しかし、「SET PATH=」行を見ると、一部の変数が適切に表現されていないことがわかります (CONSEQUOR_PIB_HOME などで先頭の % が欠落している)。これが問題である可能性があります...

于 2013-12-16T11:08:58.090 に答える