问题:
我有一个我作为服务运行的python脚本。它是win32类win32serviceutil.ServiceFramework的子类。我想要一种简单直接的方法,通过命令行向它发送任意命令。
我看过的内容:
看起来控制服务一旦启动的标准方法是使用另一个程序并发送命令信号,但我需要能够向它发送一个短字符串以及一个参数。看起来使用NamedPipe可能是一个好主意,但它真的太复杂了我想做什么,还有其他更简单的方法吗?
答案 0 :(得分:2)
不是。
你有许多方法可以用Python进行“进程间通信”(IPC)。
命名管道(参见http://developers.sun.com/solaris/articles/named_pipes.html) - 它涉及一些OS魔术创建,但它只是一个你读写的文件。
共享内存(请参阅http://en.wikipedia.org/wiki/Shared_memory) - 这也涉及相当数量的操作系统级魔法。
Semphores and Locks; files with locks可以很好地用于IPC。
基于套接字构建的高级协议......
HTTP;这就是WSGI的全部内容。
FTP
等
常见的解决方案是使用HTTP并定义“RESTful”命令。您的服务在端口80上侦听包含参数和参数的HTTP请求。有关详细信息,请查看wsgiref。