java - 获取进程的 PID 以在不知道其全名的情况下将其杀死

标签 java android eclipse process kill

我正在编写一个 Android 应用程序。现在我将介绍应用程序应该终止进程的部分。但我不知道它的全名或 PID。我知道命令:

android.os.Process.killProcess(Pid)

android.os.Process.getUidForName("com.android.email")

但我的问题是我不知道进程的全名。

这是一个 native 代码进程,所以不像 com.something.something

进程是/data/data/com.something.something/mybinary

但它正在运行类似

的命令
/data/data/com.something.something/mybinary -a 123 -b 456

因为这个我不能用

android.os.Process.getUidForName("/data/data/com.something.something/mybinary")

最佳答案

您可以使用:

ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
 List<RunningAppProcessInfo> services = manager.getRunningAppProcesses();
 String service1name = services[1].processName;

你可以获取所有正在运行的进程的包名,查看你要杀死哪个进程,选择那个进程通过service.pid获取进程id。

然后调用:

android.os.Process.killProcess(service.pid);

关于java - 获取进程的 PID 以在不知道其全名的情况下将其杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8625212/

相关文章:

java - 无法在 Eclipse 中发布动态 Web 项目

java - 写入 Eclipse 控制台

java - 无法在 Maven 项目中创建 servlet

java - 不支持的 JNI 版本 0xFFFFFFFF

java - 如何使用 Junit 5 为每个测试提供单独的类加载器

java - 如何处理 ibatis 映射中的空日期

java - 计算平衡系数

android - 如何在 Jetpack Compose 中集成自动填充功能

android - 像 Facebook 一样实现聊天头像

android - 我可以使用 android camera intent 拍摄黑白照片吗?