簡體   English   中英

如何在java中分叉外部進程

[英]How do I fork an external process in java

我正在嘗試在Java中分叉一個新的外部進程(例如Calculator)。 我是操作系統的新手,但我了解到可以使用類似的東西: Runtime.getRuntime ().exec ("C:\\\\Windows\\\\system32\\\\calc.exe"); 然而,這實際上並沒有分叉一個新的過程。 無論如何我可以使用java來分叉外部進程嗎?

我建議你比Runtime.exec更喜歡ProcessBuilder 此外,如果我理解您的問題,那么您可以將exe文件的完整路徑傳遞給ProcessBuilder 就像是,

ProcessBuilder pb = new ProcessBuilder("C:\\Windows\\system32\\calc.exe");
pb.inheritIO(); // <-- passes IO from forked process.
try {
    Process p = pb.start(); // <-- forkAndExec on Unix
    p.waitFor(); // <-- waits for the forked process to complete.
} catch (Exception e) {
    e.printStackTrace();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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