繁体   English   中英

Java/Kotlin 使用可见的命令提示符运行 Runtime.getRuntime().exec()

[英]Java/Kotlin run Runtime.getRuntime().exec() with visible command prompt

在我的 Windows 系统上,我想使用Runtime.getRuntime().exec(command)使用 python 脚本启动子进程并打开命令提示符终端,以便用户可以看到进程正在运行。 我的命令是这样的:

val command = "cmd /c python ~path_to_file~ ~args~"

我知道有一种替代方法可以通过以下方式将命令提示符的内容打印回原始终端:

import java.util.Scanner
fun main(args: Array<String>) {
    val proc = Runtime.getRuntime().exec("cmd /C dir") 
    Scanner(proc.inputStream).use {
        while (it.hasNextLine()) println(it.nextLine())
    }
}

只是想知道是否还有另一种选择我还没有看到。

我认为您应该使用ProcessBuilder的重定向:

fun main() {
    ProcessBuilder("cmd", "/C", "dir")
        .redirectOutput(ProcessBuilder.Redirect.INHERIT)
        .start()
        .waitFor()
}

这个例子与你的行为相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM