我目前正在开发一个使用 socket.io 与 node.js 通信的 Java 系统。系统和脚本在同一台服务器上。如何从我的 Java 代码执行脚本并使其在我的应用程序中保持活动状态?
问问题
7534 次
3 回答
6
请注意,当使用 process builder 时,JavaScript 文件的路径是一个参数,而“node”是命令,因此它们需要分开:
ProcessBuilder pb = new ProcessBuilder("node", "app.js");
这对于继承其控制台输出、启动进程和获取对进程的引用也很有用:
pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
Process p = pb.start();
于 2016-11-04T05:29:03.813 回答
5
假设您有一个名为“mynodejs.js”的 node.js 脚本。您可以使用以下 java 代码:
Process p = Runtime.getRuntime().exec("node mynodejs.js");
或者
ProcessBuilder b = new ProcessBuilder("node mynodejs.js", "-args");
于 2013-05-22T15:39:55.270 回答
1
看看ProcessBuilder
课堂。
如果我正确理解您的问题,您可以像通过 shell 一样在您的机器上启动任何进程。
于 2013-05-22T15:29:43.863 回答