java中不带fork的Runtime.exec()

java中不带fork的Runtime.exec(),java,Java,如何在java中调用没有fork的批处理文件? 我使用NSSM命令行界面将我的产品安装为windows服务。我总是使用Runtime.exec()来操作命令行。我绕过新进程流中的字节,定期检查它是否完成作业。我想知道,是否有简单的方法来使用命令行?我不需要分叉过程,有没有办法不使用它?我只想调用一些exec(“command”)函数,它就像一个简单的过程。你不能像Unix/Linuxexec()syscall或Posix shellexec命令那样做。。。没有分叉。。。在Java中。标准Java

如何在java中调用没有fork的批处理文件?
我使用NSSM命令行界面将我的产品安装为windows服务。我总是使用Runtime.exec()来操作命令行。我绕过新进程流中的字节,定期检查它是否完成作业。我想知道,是否有简单的方法来使用命令行?我不需要分叉过程,有没有办法不使用它?我只想调用一些exec(“command”)函数,它就像一个简单的过程。

你不能像Unix/Linux
exec()
syscall或Posix shell
exec
命令那样做。。。没有分叉。。。在Java中。标准Java类库不支持它

可以编写本机代码方法来调用操作系统提供的本机库来执行
exec
或等效操作。但是,这可能会以意外的方式表现(例如,没有关机挂钩),并且肯定是不可移植的。在Windows的情况下,如果没有
fork
:source,我认为不可能实现UNIX
exec
的等效功能

但是,您可以轻松地从Java运行批处理文件:


但是我不明白为什么要用
exec
来运行批处理文件而不是普通的
fork
/
exec
。。。这就是
Runtime.exec()
在封面下所做的。如果您解释一下,我们可能会理解您为什么需要这样做,并提供一个建议。

什么复合体正在使用
Runtime.exec()
。你想要实现什么?使用
exec()