Android怎么获取进程Id

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android怎么获取进程Id相关的知识,希望对你有一定的参考价值。

通过linux命令来获取进程ID范例代码:

Process psProcess = Runtime.getRuntime().exec("sh");
DataOutputStream out = new DataOutputStream( psProcess.getOutputStream() );
InputStream is = psProcess.getInputStream();
out.writeBytes( "ps | grep \'vpnloader\' | cut -c 10-14\\n" );
out.writeBytes( "ps\\n" );
out.flush();
try 
    psProcess.waitFor();
      catch (InterruptedException e) 
                 // TODO Auto-generated catch block
                 e.printStackTrace();
  
if(is.read() != 0)

   byte firstByte = (byte)is.read();  
   int available = is.available();
   byte[] characters = new byte[available + 1];
   characters[0] = firstByte;
   is.read( characters, 1, available );
   String re = new String( characters );
参考技术A String processName = null;
  int pid = android.os.Process.myPid();
  ActivityManager mActivityManager = (ActivityManager) this
    .getSystemService(Context.ACTIVITY_SERVICE);
  for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager
    .getRunningAppProcesses()) 
   if (appProcess.pid == pid) 
    processName = appProcess.processName;
    break;
   
  
  Log.e("tag", String.format("当前进程名为:%s进程pid为:%s", processName, pid+""));

本回答被提问者和网友采纳
参考技术B 下面是通过linux命令来获取进程ID的
Process psProcess = Runtime.getRuntime().exec("sh");
DataOutputStream out = new DataOutputStream( psProcess.getOutputStream() );
InputStream is = psProcess.getInputStream();
out.writeBytes( "ps | grep 'vpnloader' | cut -c 10-14\n" );
out.writeBytes( "ps\n" );
out.flush();
try
psProcess.waitFor();
catch (InterruptedException e)
// TODO Auto-generated catch block
e.printStackTrace();

if(is.read() != 0)

byte firstByte = (byte)is.read();
int available = is.available();
byte[] characters = new byte[available + 1];
characters[0] = firstByte;
is.read( characters, 1, available );
String re = new String( characters );
参考技术C 百度一下获取教程 参考技术D 用幸运破解器

android logcat怎么获取某个进程的日志

在logcat视图中点击+号


在窗口中,输入你需要过滤的信息,比如应用程序的包名,也可以获取某个进程的log,

你需要知道进程的PID


可以看到现在输出的都是com.sanron.sunweather包的log了


也可以直接输入表达式,如下图,输入  pid:进程ID  就之间显示出来进程对应的log


参考技术A 点击 logcat 中的 display xxxxxxxx view 按钮 左边会弹出一个侧拉菜单,在saved Filters 中 点击绿色 加号 , 在filters name 中 输入你要监控的进程的名字 , 一般都是包名 然后就能过滤出你要看的进程的日志了本回答被提问者和网友采纳

以上是关于Android怎么获取进程Id的主要内容,如果未能解决你的问题,请参考以下文章

androidc获取应用uid

android进程管理机制

Android开始之 入门

android studio开发笔记四

Android 怎么退出整个应用程序

Android:控件布局(相对布局)RelativeLayout