Hong_Max 2021-05-14 22:37 采纳率: 0%
浏览 141

使用Runtime.getRuntime().exec("ip neigh");请求被拒绝

代码是在网上看到的,运行在andoid10的手机上,主要代码如下:

public String getShellResult() {
        String result = "";
        Runtime mRuntime = Runtime.getRuntime();
        try {
            Process mProcess = mRuntime.exec("ip neigh");
            InputStream is = mProcess.getErrorStream();
            flag=1;
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader mReader = new BufferedReader(isr);
            String string;
            while ((string = mReader.readLine()) != null) {
                result = result + string + "\n"; }
        } catch (IOException e) {
            e.printStackTrace();
            Log.e("IPerror", "error");
        }
        return result;
 }
}
  • 写回答

1条回答 默认 最新

  • 猿来如此yyy 2024-06-22 12:07
    关注

    请求被拒绝的原因可能是您的程序没有足够的权限来执行该命令,或者该命令不允许在您的环境中执行。

    如果您是在Windows操作系统上运行该程序,请确保您的程序以管理员权限运行。可以尝试右键单击程序,然后选择“以管理员身份运行”。

    如果您是在Linux或Mac操作系统上运行该程序,请确保您的程序有足够的权限来执行该命令。您可以尝试使用sudo命令来运行程序,如:sudo java YourProgram。

    另外,请注意,使用Runtime.getRuntime().exec()方法执行命令时,您需要正确处理命令的输出结果和错误信息。您可以使用Process.getInputStream()和Process.getErrorStream()方法来获取命令的输出和错误信息。

    评论

报告相同问题?