pywin32モジュールの使用はどうですか? サブプロセスモジュールでこれを達成する方法はありますか?Pythonで 'Windowsサービス'と同時にやりとりする方法
答えて
これはどういうことか想像できません。
Windowsサービスは汎用メッセージングAPIを公開していません。各サービス(それを選択すべきである)は、それ自身の選択したIPCチャネル(例えば、WCF)を介して自身の特定のAPIを公開する。
ただし、これに関係なく、これを同期させることはできません。どんな種類のIPCもサービスエンドポイントへの非同期コールになります。
あなたの質問では、より具体的にする必要があります。
Windowsサービスとやりとりするために利用できる汎用APIは、基本的には次のように制限されています。停止、開始、インストール、アンインストール。ここを見て:https://msdn.microsoft.com/en-us/library/windows/desktop/ms685942(v=vs.85).aspx
(あなたが新しい Windowsサービスを作成している場合は、Pythonで、ZeroMQは、コマンドラインのPythonスクリプトから、それと対話するための非常に合理的な選択である。代替IPCの任意の数があります同様に良いだろうPython用チャネル)
-
だけでサービスを開始するには、試してみてください。import win32service
import win32serviceutil
import time
win32serviceutil.StartService(serviceName)
status = win32serviceutil.QueryServiceStatus(serviceName)
while status == win32service.SERVICE_START_PENDING:
time.sleep(1)
status = win32serviceutil.QueryServiceStatus(serviceName)
のNbを。管理者としてpythonインスタンスを生成しない限り、アクセス拒否エラーが発生します。
応答をありがとう、私の要件は次のようなものです...私はサードパーティのWindowsサービス[風邪のような]を開始し、サービスが開始されるまで待っています。 –
あなたはまだそれを同期的に行うことはできませんが、ここにあなたが何をしているかの例があります:http://code.activestate.com/recipes/135700-win32-service-administration/ – Doug
ヒープ@Dougありがとうございます。それは本当に私のために働いた:) –
- 1. C#でRESTサービスとやり取りする方法
- 2. pythonがウェブサイトと自動的にやりとりする方法
- 3. サービスとユーザーとのやり取りに最適な方法
- 4. C#でWindows Media Playerとやり取りする方法
- 5. pynessusとやりとりする方法
- 6. PythonとLinuxシェルのやりとりをする方法
- 7. Pythonプログラムを簡単にやりとりする方法
- 8. Androidサービスのやりとり
- 9. WindowsサービスとASP.NET MVCプロジェクトのやり取りを取得するには?
- 10. Bokeh Pythonラジオボタンとのやりとり方法
- 11. 正しい方法でサービスとそのアプリケーションの間でデータをやりとりする方法は?
- 12. UITextField(Swift)とのやりとり方法
- 13. Slack APIでイベントとやりとりする方法は?
- 14. バックグラウンドでWebページとやりとりする方法
- 15. ジャスミンテストでng-boostrap modalとやりとりする方法
- 16. マウスホバーでマウスと画像をやりとりする方法は?
- 17. Mac OS XでPhotoshopアプリケーションとやりとりする方法
- 18. iphone xcodeでphonegapアプリケーションとやりとりする方法
- 19. UWP WebViewでDOMとやりとりする方法は?
- 20. Pythonを使用してJavaScriptウェブページとやりとりする方法は?
- 21. WCFサービスのホストオブジェクトとのやり取り
- 22. ウェブAPIを通じてサービスのやりとりを許可する方法
- 23. .NetサービスとWindows Appは同時にですか?
- 24. リストを使ってサービスとやりとりするandroid
- 25. Pythonの__hash__と__eq__のやりとり
- 26. eager loadingとnested eager loadingを同時に制限する方法や方法がありますか?
- 27. メインスレッドで集中的なタスクと同時にUIのやり取りをブロックしない方法
- 28. Windowsサービスのインストール時に「サービスとデスクトップとの対話を許可する」をデフォルトでオンにする方法
- 29. cでプロセス間でデータをやりとりする方法は?
- 30. View Pagerでフラグメント間でデータをやりとりする方法
あなたの質問は現時点で非常に一般的です。対話しようとしているプロセスの例とこれまでに試したコードを挙げることはできますか? – CJC