与Python服务通信

与Python服务通信,python,winapi,command-line,service,Python,Winapi,Command Line,Service,问题: 我有一个作为服务运行的python脚本。它是win32类win32serviceutil.ServiceFramework的子类。我想要一种简单直接的方法,通过命令行向它发送任意命令 我所看到的: 看起来一旦服务启动,控制它的标准方法是使用另一个程序并向它发送命令信号,但我需要能够向它发送一个短字符串和一个参数。看起来使用命名管道可能是个好主意,但对于我想要做的事情来说,它实在太复杂了,还有其他更简单的方法吗?没有 用Python进行“进程间通信”(IPC)有很多很多方法 命名管道(

问题:

我有一个作为服务运行的python脚本。它是win32类win32serviceutil.ServiceFramework的子类。我想要一种简单直接的方法,通过命令行向它发送任意命令

我所看到的:

看起来一旦服务启动,控制它的标准方法是使用另一个程序并向它发送命令信号,但我需要能够向它发送一个短字符串和一个参数。看起来使用命名管道可能是个好主意,但对于我想要做的事情来说,它实在太复杂了,还有其他更简单的方法吗?

没有

用Python进行“进程间通信”(IPC)有很多很多方法

  • 命名管道(请参阅)--创建它需要一点操作系统的魔力,但它只是一个可以读写的文件

  • 共享内存(请参阅)--这还涉及相当数量的操作系统级魔法

  • 符号和锁;能很好地为IPC工作

  • 基于套接字的高级协议

    • HTTP;这就是WSGI的全部内容

    • FTP

    • 等等


一个常见的解决方案是使用HTTP并定义“RESTful”命令。您的服务在端口80上侦听包含参数和参数的HTTP请求。有关这方面的更多信息,请参阅。

谢谢。这就是我的研究得出的结论。我想我最终会使用NamedPipes。我们使用WSGI是因为——总的来说——使用wsgiref库实现起来非常非常简单。我们的客户使用urllib2发出请求。