我继承了一个遗留应用程序,它使用 ProcessBuilder.start()
在 Solaris 10 服务器上执行脚本。
不幸的是,由于内存问题,此脚本调用失败,如文档所述here
Oracle 的建议是使用 posix_spawn()
,因为在幕后,ProcessBuilder.start()
正在使用 fork/exec
。
我找不到任何示例(例如,如何调用 "myScript.sh"
)
在Java中使用posix_spawn()
,甚至需要什么包。
能否请您给我一个关于如何在 Java 中使用 posix_spawn()
的简单示例?
最佳答案
另一种不需要 JNI 的方法是创建一个单独的“process spawner”应用程序。我可能会让这个应用程序公开一个 RMI 接口(interface),并创建一个包装器对象来替代 ProcessBuilder
。
您可能还想考虑让这个“spawner”应用程序启动您的遗留应用程序。
关于java - 如何在 Java 中使用 posix_spawn(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625133/