繁体   English   中英

Node.js:如何写入java-childprocess-stdin

[英]Node.js: How to write to the java-childprocess-stdin

我编写了一个node.js-server,它可以从web接口生成一个java子进程,并将jar的stdout显示给接口。 现在我需要通过stdin向jar发送一些命令,这是我的问题:

我正在产生服务器:

jar = cp.spawn('java', ['-Xmx1024M', '-jar', dir+'craftbukkit.jar', '-o true','-nojline'], {
cwd:dir);

试图发送一些命令:

jar.stdin('stop\n');

但它什么都不做。 在其他Childprocesses中它的工作方式如下,但现在我不知道如何做到这一点。 有人有想法吗?

Thx伙计们!

您的jar对象是一个ChildProcess对象 ,它有三个stdinstdoutstderr 它们不是函数,而是可以从(stdout和stderr)读取并写入(stdin)的流。

这是一个例子:

jar.stdin.write('stop\n');
jar.stdout.pipe(process.stdout);

它会将一些数据写入子进程的标准输入,并将其输出传递给Node进程的标准输出(即控制台)。

请注意, write()调用是异步的:在调用write()的时间和实际写入进程输入的时间之间可能会有一个小的延迟。

有关流的概述,您可以阅读The Stream Handbook

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM