2016-05-25 7 views
0

私のスクリプトを実行するPythonService.exeを提供するpywin32 APIの助けを借りて、WindowsのバックグラウンドサービスとしてPythonスクリプトを実行しています。IOError:[Errno 4]中断された関数呼び出しPythonService.exe

継続的に要求を処理し、応答します。一度私は応答を得なかったので、私はサービスが停止している天気をチェックした?私はブログの一部を経て、SIGBREAK信号を処理するために提供されている場合、このエラーが発生することがわかったが、私はすることはできませんよ

**Traceback (most recent call last): 
    File "C:\Python27\lib\site-packages\win32\lib\win32serviceutil.py", line 806, in SvcRun 
    self.SvcDoRun() 
    File "\..\..\MyServices.py", line 128, in SvcDoRun 
    self.main() 
    File "\..\..\MyServices.py", line 141, in main 
    execfile('C:\Python27\Lib\site-packages\MyPackage\main.py') 
    File "C:\Python27\Lib\site-packages\MyPackage\main.py", line 26, in <module> 
    time.sleep(1) 
IOError: (4, 'Interrupted function call') 
%2: %3** 

:私は、あるサービスが停止され、システムイベントは私が見つけたログ見つかっmyscriptが稼動しているのと同じエラーを再現します。

誰もがこのエラーの原因を知っていますか、どのようにサービスで再現できますか?

答えて

0

私はPythonService.exeに信号を送る可能性のあるすべての方法を試みましたが、それを再現できませんでした。私は、エラーを生成するために、殺す、ログオフし、他の方法を試みた。

しかし、どれも成功しなかったので、私は最終的にをシャットダウンしてそれを再現する方法を見つけました。あなたのプログラムが眠りにつかず、のシャットダウンが起こるのはまれなシナリオです。したがって、同じものを再現するためには、スリープ時間を長くしてからサービスを実行する必要があります。

実際、私のCloud VMは、その時点でメンテナンスを行っていた可能性があります。

関連する問題