0

早上好:

我正在尝试运行需要以 root 身份执行的外部应用程序。执行此应用程序后,我必须从 exit 读取行,但它显示“权限被拒绝”,就好像它没有正确完成一样。我已经想了很久,我无法前进。代码如下:

process = Runtime.getRuntime().exec("su");
String[] command = {external application command};
process = Runtime.getRuntime().exec(comando);
InputStream inputStream = process.getInputStream();
BufferedReader bufferedReader = null;
try
{
   bufferedReader = new BufferedReader(new
       InputStreamReader(inputStream),8192);
   String line = null;
   while ((line = bufferedReader.readLine()) != null)
   {
      System.out.println("read line:"+line );
   }
}
catch (IOException ioe)
{
  ioe.printStackTrace();
}
process.waitFor();

有谁知道为什么不让我运行命令?

谢谢。

4

2 回答 2

0

尝试运行时是否有任何错误su?(我想你会,因为su可能会直接打开终端提示输入密码;su不会只读取标准输入的密码。)

在尝试运行一个简单的程序时,您是否有任何错误或成功,例如/usr/bin/cat /etc/passwd?在尝试更复杂的程序之前,不妨先从简单的开始,看看是否可以让它工作。

于 2011-02-01T07:21:48.870 回答
0

试试怎么样

sudo -iu root

而不是苏

于 2011-02-01T07:46:59.320 回答