我想要一个脚本启动并与长时间运行的进程交互。该过程在第一次执行脚本时启动,之后脚本可以重复执行,但会检测到该过程已在运行。该脚本应该能够与该进程交互。我希望这能在Unix和Windows上运行。
我不确定我是怎么做到的。具体来说,我如何检测进程是否已在运行并打开管道?我应该使用套接字(例如在已知端口上注册服务器进程然后检查它是否响应)或者我应该使用“命名管道”吗?或者有一些更简单的方法吗?
答案 0 :(得分:2)
套接字更容易在Windows和任何其他操作系统之间移植,因此我推荐它使用命名管道(这就是为什么例如IDLE使用套接字而不是命名管道 - 后者需要Windows上依赖于平台的代码,例如通过ctypes
[[或第三方win32all
或cython
& c]],虽然套接字正常工作)。
答案 1 :(得分:0)
这是一个想法......