【发布时间】:2010-01-27 23:40:26
【问题描述】:
我需要对 vmware 进行双重分叉,这样它就不会继承终端 ID (TTY/pts)。
这是我目前所拥有的,但我无法访问 runtime.exec 进程以派生另一个进程(删除终端 ID)。
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("vmware");
有没有办法在 Java 中“守护”?
【问题讨论】:
我需要对 vmware 进行双重分叉,这样它就不会继承终端 ID (TTY/pts)。
这是我目前所拥有的,但我无法访问 runtime.exec 进程以派生另一个进程(删除终端 ID)。
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("vmware");
有没有办法在 Java 中“守护”?
【问题讨论】:
您需要编写一个小型 C 或 C++ 程序来执行额外的 fork、setsid 等所有操作。
【讨论】:
您实际上不需要“双叉”来执行此操作,只需要单叉。然后孩子应该关闭标准输入、输出、错误并开始一个新会话。
【讨论】: