Java中等效于Python的subprocess.Popen()的是什么?
当然可以!请看下面的内容:
这个问题主要是关于如何在编程中处理一些常见的错误和问题。很多时候,程序在运行时可能会出现意想不到的情况,比如输入不符合要求,或者程序无法找到某个文件。这些问题如果不处理好,就会导致程序崩溃或者无法正常工作。
为了避免这些情况,程序员通常会使用一些技巧,比如在代码中加入检查和验证的步骤。这样一来,当程序遇到问题时,它可以给出友好的提示,而不是直接崩溃。比如,如果用户输入了错误的格式,程序可以提醒用户重新输入,而不是让程序停止运行。
此外,程序员还会使用日志记录功能,这样可以在程序出现问题时,查看记录的内容,帮助找到问题的根源。这就像是给程序装上了一个“监控摄像头”,可以回放查看发生了什么。
总之,处理程序中的错误和问题是编程中非常重要的一部分,掌握这些技巧可以让你的程序更加稳定和用户友好。
import subprocess
import os
prefix = os.path.expanduser("~/.bin/kb/")
p = subprocess.Popen([(prefix + "koreball"),(prefix + "/data"),'3'])
3 个回答
1
使用 ProcessBuilder,比如:
static void SimpleProcess() throws IOException, InterruptedException {
ProcessBuilder pb = new ProcessBuilder("ls", ".")
.inheritIO();
Process p = pb.start();
int retval = p.waitFor();
System.out.println("exited with code " + retval);
}
2
你问的问题不太清楚,不过如果你是在找Java中和Popen()
相似的功能,那你可以使用Runtime.exec()
这个方法。
6
你可以试试用 Runtime.exec
这个方法。
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("myprocess");
这个方法会返回一个 Process
对象,你可以用它来:
- 获取这个进程的输出、输入和错误信息
- 获取这个进程的输出代码
- 结束这个进程
- 等待这个进程执行完毕