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 對象
添加回答
舉報
