1 回答
TA贡献1796条经验 获得超10个赞
这真的取决于你的java版本。
在 Java 8 之前
public abstract void destroy()
杀死子进程。该 Process 对象所代表的子进程被强制终止。
爪哇 8
public abstract void destroy()
杀死子进程。此 Process 对象表示的子流程是否被强制终止取决于实现。
public Process destroyForcibly()
杀死子进程。该 Process 对象所代表的子进程被强制终止。此方法的默认实现调用 destroy() ,因此可能不会强制终止进程。强烈鼓励此类的具体实现使用兼容实现覆盖此方法。在 ProcessBuilder.start() 和 Runtime.exec(java.lang.String) 返回的 Process 对象上调用此方法将强制终止进程。
注意:子进程可能不会立即终止。即 isAlive() 可能会在调用 destroyForcibly() 后的短时间内返回 true。如果需要,可以将此方法链接到 waitFor()。
返回: 代表要强制销毁的子进程的 Process 对象。
爪哇 9
public abstract void destroy()
杀死进程。此 Process 对象表示的进程是否正常终止取决于实现。强制进程销毁被定义为立即终止进程,而正常终止允许进程干净地关闭。如果进程不活动,则不采取任何行动。当进程终止时,来自 onExit() 的 CompletableFuture 完成。
public Process destroyForcibly()
强行杀死进程。该 Process 对象所代表的进程被强制终止。强制进程销毁被定义为立即终止进程,而正常终止允许进程干净地关闭。如果进程不活动,则不采取任何行动。当进程终止时,来自 onExit() 的 CompletableFuture 完成。
在 ProcessBuilder.start() 和 Runtime.exec(java.lang.String) 返回的 Process 对象上调用此方法会强制终止进程。
API注意事项:
该过程可能不会立即终止。即 isAlive() 可能会在调用 destroyForcibly() 后的短时间内返回 true。如果需要,可以将此方法链接到 waitFor()。实现要求:该方法的默认实现调用destroy(),因此不能强行终止进程。实现注意:强烈鼓励此类的具体实现使用兼容实现覆盖此方法。
返回:
代表进程被强行销毁的 Process 对象
添加回答
举报