簡體   English   中英

在停止當前進程的同時啟動外部進程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM