如何在Runtime.exec()命令中查杀java中的进程时出现异常?

时间:2015-05-09 12:21:10

标签: java android

我有一个应用程序,用户可以在系统中列出所有正在运行的任务,如果他愿意也可以杀死一些。

我的代码在这里:

public void killProcess(String PID) {
    try {
        Process p = Runtime.getRuntime().exec("/system/bin/kill " + PID);
        Toast.makeText(getBaseContext(), "Process has been killed", Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        Toast.makeText(getBaseContext(), e.getMessage().toString(), Toast.LENGTH_SHORT).show();
    }
}

这适用于我,但只有当普通用户可以杀死应用程序时,我还没有授予应用程序超级用户权限,我不想,我想要的是,获取消息{{1当普通用户无法杀死它时,或Permission denied。这就是全部。是否有任何想法可以正确完成?

我也看到Operation not permitted也可以使用,因为它是一个Android的方法,但也不知道如何在这里获得例外。

由于

EDITED

工作代码:

Process.killProcess(int PID)

1 个答案:

答案 0 :(得分:1)

您可以使用p.getErrorStream()读取kill Process打印到stderr的任何错误消息。您还可以检查p.waitFor()的返回值,以查看命令是成功(0)还是失败(否则)。