使用ProcessBulder从Java执行Linux应用程序

发布于 2025-02-02 03:31:15 字数 893 浏览 1 评论 0原文

我正在尝试运行从Java启动它们的程序,主要的问题是,许多人没有开始(主要是.pappimage)其他人开放,而是在很短的时间后崩溃,例如Jmonkey.sh(iDe),我没有知道我错了...

processBuilder = new ProcessBuilder();
String exec = "";
exec = DefaultLaunchExec.defaultLaunch.get(app.getExecProgram())+ app.getExecPath();
        
processBuilder.command("/bin/bash","-c",exec); //exec == path of the program
System.out.println("\n"+processBuilder.command());
        
try {

    process = processBuilder.start();
                
    StringBuilder output = new StringBuilder();

    BufferedReader reader = new BufferedReader(
                new InputStreamReader(process.getInputStream()));

    String line;
    while ((line = reader.readLine()) != null) {
        output.append(line + "\n");
        System.out.println(line);
    }

} catch (IOException e) {
    System.out.println(e);
}
        
DefaultLaunchExec.appRunning.remove(this);

I'm trying to run programs starting them from java, the main problem is that many do not start (mainly .AppImage) others open but crash after a very short time, such as JMonkey.sh (the ide), I don't know what I'm wrong ...

processBuilder = new ProcessBuilder();
String exec = "";
exec = DefaultLaunchExec.defaultLaunch.get(app.getExecProgram())+ app.getExecPath();
        
processBuilder.command("/bin/bash","-c",exec); //exec == path of the program
System.out.println("\n"+processBuilder.command());
        
try {

    process = processBuilder.start();
                
    StringBuilder output = new StringBuilder();

    BufferedReader reader = new BufferedReader(
                new InputStreamReader(process.getInputStream()));

    String line;
    while ((line = reader.readLine()) != null) {
        output.append(line + "\n");
        System.out.println(line);
    }

} catch (IOException e) {
    System.out.println(e);
}
        
DefaultLaunchExec.appRunning.remove(this);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文