在Java中生成一个在JVM关闭后幸存的进程

13 java process

我需要在Java(仅在Linux下)生成一个进程,该进程将在JVM退出后继续运行.我怎样才能做到这一点?

基本上Java应用程序应该生成一个更新程序,它会停止Java应用程序,更新文件然后再次启动它.

我对hack&slash方法感兴趣,让它工作以及更好的设计方案如果你有一个:)

Jon*_*eet 17

如果你正在使用java.lang.Process它生成进程应该"正常工作" - 我不相信当JVM退出时,生成的进程将会死亡.您可能会发现Ant库使您可以更轻松地控制产卵.

  • 一些它对我不起作用...奇怪..当jvm退出时我的进程退出 (5认同)
  • 从Java 5开始,有http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ProcessBuilder.html来帮助创建进程 (2认同)

小智 10

它实际上"只是工作",除非你想要聪明.

我的包装java.lang.Process试图捕获脚本的输出,所以当JVM死了,脚本没有任何地方发送输出所以它就会死掉.如果我不尝试捕获输出,或者脚本没有生成任何内容或将所有内容重定向到文件或/ dev/null,则一切正常.