查看程序的調度狀態為"bg"的進程信息
PC終端執行如下命令
$adb shell ps|grep bg
程序中如何執行adb命令?
Runtime.getRuntime().exec("ps")
讀取命令執行后返回的數據
BufferedReader reader = null;
String content = "";
try {
//("ps -P|grep bg")執行失敗,PC端adb shell ps -P|grep bg執行成功
//Process process = Runtime.getRuntime().exec("ps -P|grep tv");
//-P 顯示程序調度狀態,通常是bg或fg,獲取失敗返回un和er
// Process process = Runtime.getRuntime().exec("ps -P");
//打印進程信息,不過濾任何條件
Process process = Runtime.getRuntime().exec("ps");
reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuffer output = new StringBuffer();
int read;
char[] buffer = new char[4096];
while ((read = reader.read(buffer)) > 0) {
output.append(buffer, 0, read);
}
reader.close();
content = output.toString();
} catch (IOException e) {
e.printStackTrace();
}
Android進程的五個級別,對應五個調度狀態
1.foreground process
2.visible process
3.Service process
4.background process
5.empty process
打印的結果:讀取到部分進程信息,包含系統應用及用戶安裝的應用,不能讀取全部的進程信息
ps命令讀取到的進程信息
各字段的含義:
進程信息各字段含義
android adb 查看進程信息