在我的 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()
}
此示例的行为与您的相同。
关于Java/Kotlin 运行 Runtime.getRuntime().exec() 并带有可见的命令提示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60766227/