[英]Start an external process while stopping current process
不知道什么是正確的詞,或者這是否可能。
我想在同一終端 window 中啟動一個外部進程並停止當前進程。
(我想避免為子進程管道 I/O 流。)
public static void main(String[] args) {
String ip = chooseFromCommandLine();
String cmdLine = "ping " + ip;
// launch cmdLine in the same terminal and exit this process
}
本質上是為終端創建一個“啟動器”類型的應用程序。
在 UNIX / Linux / POSIX 中,術語是“執行”應用程序。 當前執行的進程被一個新的應用程序替換。
不幸的是,你不能在純 Java 中做到這一點。 您可以使用從 Java 調用的本機代碼來完成此操作。
Java 的Runtime.exec(...)
等方法相當於 POSIX fork
,然后在子進程中exec
。 換句話說,父進程(即JVM)一直在運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.