java中不带fork的Runtime.exec()
如何在java中调用没有fork的批处理文件?java中不带fork的Runtime.exec(),java,Java,如何在java中调用没有fork的批处理文件? 我使用NSSM命令行界面将我的产品安装为windows服务。我总是使用Runtime.exec()来操作命令行。我绕过新进程流中的字节,定期检查它是否完成作业。我想知道,是否有简单的方法来使用命令行?我不需要分叉过程,有没有办法不使用它?我只想调用一些exec(“command”)函数,它就像一个简单的过程。你不能像Unix/Linuxexec()syscall或Posix shellexec命令那样做。。。没有分叉。。。在Java中。标准Java
我使用NSSM命令行界面将我的产品安装为windows服务。我总是使用Runtime.exec()来操作命令行。我绕过新进程流中的字节,定期检查它是否完成作业。我想知道,是否有简单的方法来使用命令行?我不需要分叉过程,有没有办法不使用它?我只想调用一些exec(“command”)函数,它就像一个简单的过程。你不能像Unix/Linux
exec()
syscall或Posix shellexec
命令那样做。。。没有分叉。。。在Java中。标准Java类库不支持它
可以编写本机代码方法来调用操作系统提供的本机库来执行exec
或等效操作。但是,这可能会以意外的方式表现(例如,没有关机挂钩),并且肯定是不可移植的。在Windows的情况下,如果没有fork
:source,我认为不可能实现UNIXexec
的等效功能
但是,您可以轻松地从Java运行批处理文件:
但是我不明白为什么要用
exec
来运行批处理文件而不是普通的fork
/exec
。。。这就是Runtime.exec()
在封面下所做的。如果您解释一下,我们可能会理解您为什么需要这样做,并提供一个建议。什么复合体正在使用Runtime.exec()
。你想要实现什么?使用exec()