0

Java経由でdecode -t 17を実行する必要がありますが、ルート権限が必要です。そのため、su -iを実行してルートに変更し、decodeコマンドを実行することを考えましたが、何も起こりません。助けてください:

btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            textArea.setText("");
            repaint();
             try{
                 p = Runtime.getRuntime().exec("sudo -i");
                 p.waitFor();
                 p.destroy();
                 p = Runtime.getRuntime().exec("dmidecode –t 17");
                 BufferedReader br = new BufferedReader(
                     new InputStreamReader(p.getInputStream()));
                 while ((s = br.readLine()) != null)
                     textArea.setText(s);
                 p.waitFor();
                 p.destroy();
                 p = Runtime.getRuntime().exec("su - mayooran");
                 p.waitFor();
                 p.destroy();
                 }
             catch(Exception e)
             {

             }
        }
     });
     btnNewButton.setBounds(404, 89, 119, 34);
     contentPane.add(btnNewButton);
4

1 に答える 1

0

多くのオプションがあります:

1- dmidecode の静的出力を誰でも読み取り可能なファイルに書き込むスクリプトを作成するか、他の情報ソース ( /proc/meminfo など) を使用できます。

2-シェルで次のことを行います。

chgrp $usergroup /usr/sbin/dmidecode

chmod g+s /usr/sbin/dmidecode

于 2014-05-31T02:07:03.620 に答える