-3

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);
        }
    }
}
4

1 に答える 1

1

Process.waitForはブロッキング呼び出しです。

実行する前にmyProcess.waitFor、プログラムの I/O を処理するスレッドを作成しておく必要があります。

于 2012-05-24T08:48:17.743 に答える