3

サービスとして使用するPythonスクリプトの記述について、この回答の指示に従いました。ループコードをに配置しましたdef main()

でサービスをインストールしましたpython my_script.py installservices.mscWindowsXPでサービスを開始および停止することができました。

これは、Windowsが実行されている限りログを書き込むことを目的としたロギングプログラムです。誰がログインするか、誰かがログアウトするかは関係ありません。私の問題は、ログアウトするとサービスが停止することです。ログアウト後も存続させるにはどうすればよいですか?

4

1 に答える 1

2

ユーザーがコンソールを閉じるか、ログオフするか、システムをシャットダウンすると、システムはCTRL_CLOSE_EVENT、CTRL_LOGOFF_EVENT、およびCTRL_SHUTDOWN_EVENT信号を生成するため、プロセスは終了前にクリーンアップする機会があります。これらすべてからサービスを確実に切り離すには、コントロールハンドラーを使用してサービスをそのように設定する必要があります。

  win32api.SetConsoleCtrlHandler(lambda x: True, True)  

チェックアウト: http: //msdn.microsoft.com/en-us/library/ms685049 (v = VS.85).aspx

これを非常によく説明するレシピがあることを確認してください。

于 2010-09-24T00:01:01.773 に答える