![](/img/trans.png)
[英]How should I use child_process module to communicate python and node.js in linux?
[英]In Python, how do I continuously communicate with running Node.js process?
(很抱歉,因为我刚开始使用Python,这有点含糊。)
我正在创建一个SublimeText 2 intellisense插件,该插件与从Node.js脚本生成的正在运行的命令行节点服务器进行通信。 我想与之通信的节点应用程序可以在这里找到: https : //github.com/clausreinke/typescript-tools 。 (请注意,一旦调用tss命令,它将启动它自己的子进程命令行repl,该repl需要接收要执行的命令。将命令传递到该命令行本身是一个完全不同的问题,我尚未解决。 )
我可以通过以下方式成功与节点“对话”:
self.process = subprocess.Popen( self.args,
stdin = subprocess.PIPE,
stdout = subprocess.PIPE,
stderr = subprocess.STDOUT)
self.result = self.process.communicate()[0]
使用调用
self.thread = NodeJS( args )
self.thread.start()
self.handle_thread( self.thread )
问题在于,一旦执行了node.js文件,它将关闭管道并退出IO进程。 随后对该过程的调用返回一个
ValueError: I/O operation on closed file
我的问题是:如何启动节点应用程序,在后台运行它,然后从Python连续“传递”命令给它?
我想要
除了连续异步来回,所有这些步骤都已完成,我似乎无法弄清楚。
任何帮助,将不胜感激。
在Python中创建一个Unix域套接字或邮槽,在Node.js中连接到它,并将其用作您的通信通道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.