private void killProcess(String killName) {
// 获取一个ActivityManager 对象
ActivityManager activityManager = (ActivityManager) mContext
.getSystemService(Context.ACTIVITY_SERVICE);
// 获取系统中所有正在运行的进程
List<RunningAppProcessInfo> appProcessInfos = activityManager
.getRunningAppProcesses();
// 对系统中所有正在运行的进程进行迭代,如果进程名所要杀死的进程,则Kill掉
for (RunningAppProcessInfo appProcessInfo : appProcessInfos) {
String processName = appProcessInfo.processName;
if (processName.equals(killName)) {
killProcessByPid(appProcessInfo.pid);
}
}
}
/**
* 根据要杀死的进程id执行Shell命令已达到杀死特定进程的效果
* @param pid
*/
private void killProcessByPid(int pid) {
String command = "kill -9 " + pid + "\n";
Runtime runtime = Runtime.getRuntime();
Process proc;
try {
proc = runtime.exec(command);
if (proc.waitFor() != 0) {
System.err.println("exit value = " + proc.exitValue());
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (InterruptedException e) {
System.err.println(e);
}
}
android 根据进程名杀死指定、特定进程
最新推荐文章于 2023-02-16 22:28:01 发布