java - 如何使用 eclipse IDE 从 java 程序运行 sudo 命令?

标签 java linux eclipse ubuntu

我想使用 eclipse IDE 从 java prog 运行 sudo 命令,但它没有运行,不要求输入密码,也不在控制台中显示任何输出消息,请告诉我 我的程序是

public class JavaCommand {
    public static void main(String args[]) throws IOException, InterruptedException {
        String command="sudo cat /etc/sudoers";
        Process myProcess =null;
        try {
            Runtime runtime=Runtime.getRuntime();
            File file=new File("/home/users/admin/temp");
            myProcess = runtime.exec(command,null,file);
            myProcess.waitFor();
            InputStreamReader myIStreamReader = new InputStreamReader(myProcess.getInputStream());
            BufferedReader br=new BufferedReader(myIStreamReader);
            String line;
            while((line=br.readLine())!=null){
                System.out.println(line);
            }
        } catch (IOException anIOException) {
            System.out.println(anIOException);
        }
    }
}

最佳答案

Process.waitFor是一个阻塞调用。

在执行 myProcess.waitFor 之前,您需要创建线程来处理程序 I/O。

关于java - 如何使用 eclipse IDE 从 java 程序运行 sudo 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10734026/

相关文章:

java - 如何连续循环菜单直到选择退出选项,以及如果选择无效操作则重复菜单

java - 将 "array var-args"作为参数混淆

java - 如何简化从 DFA 生成的正则表达式

linux - 如何修复 RED kibana 状态

linux - 'ln' 脚本出现一些错误

c - 使用 uname(2) 检查错误?

java - android - 插页式广告仅在模拟器上弹出

java - Android GTFS 应用程序

eclipse - 项目功能 > Eclipse 中的 Clean

java - 常量 'Running Android Lint' 失败,Eclipse 中弹出空指针异常(但似乎不是我的代码)