Dan*_*nen 3 java stdin child-process node.js bukkit
我编写了一个node.js服务器,它可以从Web界面生成Java子进程,并将jar的标准输出显示到该接口。现在我需要通过标准输入发送一些命令到罐子,这就是我的问题:
我生成服务器:
jar = cp.spawn('java', ['-Xmx1024M', '-jar', dir+'craftbukkit.jar', '-o true','-nojline'], {
cwd:dir);
Run Code Online (Sandbox Code Playgroud)
尝试发送一些命令:
jar.stdin('stop\n');
Run Code Online (Sandbox Code Playgroud)
但是它什么也没做。在“其他子进程”中,它的工作原理是这样的,但是现在我不知道如何执行此操作。有人有主意吗?
谢谢你们!
你的jar对象是一个子进程的对象,其中有三个流:stdin,stdout,stderr。它们不是函数,而是您可以从(stdout和stderr)读取并写入(stdin)的流。
这是一个例子:
jar.stdin.write('stop\n');
jar.stdout.pipe(process.stdout);
Run Code Online (Sandbox Code Playgroud)
它将一些数据写入子进程的标准输入,并将其输出通过管道传递到Node进程的标准输出(即控制台)。
请注意,该write()调用是异步的:在您调用write()的时间与实际将其写入到流程输入之间的时间之间可能会有一个小的延迟。
有关流的概述,请阅读《流手册》。
| 归档时间: |
|
| 查看次数: |
2322 次 |
| 最近记录: |