当前位置:首页 » 安卓系统 » android进程号

android进程号

发布时间: 2022-08-09 11:20:50

⑴ android怎样判断一个进程是否结束

  1. 手机通过USB,使用电脑进行调试

  2. 打开cmd,输入adb shell ps|findstr 包名的一部分

  3. 查看打印的结果,如果打印出某进程的进程号则说明该进程没有结束,否则已经结束

  4. 如果手机已成功root,可以使用

    adb shell

    su

    kill -s 9 进程号

    杀掉该进程

⑵ android怎么查看进程的端口号

这是看不了的,因为这些端口是由DDMS创建,并且将它们与设备中的进程建立了连接。
这不是ADB做的,ADB只是提供了接口来做这些工作。你可以在命令行下自己去做连接映射,看一下adb的forward命令。

⑶ Android中如何根据端口号寻找对应的进程

参考下面方法:首先,通过端口号找到进程PID,命令:netstat -ano | findstr "端口号" 其次,通过PID号找进程名,命令:tasklist | findstr "PID号"。

⑷ 如何在Android中取得当前进程名

方法一:调用ActivityManager

代码如下

java">ActivityManageram=(ActivityManager)this
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo>list=_am.getRunningAppProcesses();
for(inti=0;i<list.size();i++){
Log.i("tag",list.get(i).pid);
}


方法二:调用Process类获取

只需要一句代码即可

intpid=android.os.Process.myPid();

还可以使用android.os.Process.myTid()获取调用进程的线程ID

和android.os.Process.myUid():获取该进程的用户ID

⑸ Android怎么获取进程Id

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

ProcesspsProcess=Runtime.getRuntime().exec("sh");
DataOutputStreamout=newDataOutputStream(psProcess.getOutputStream());
InputStreamis=psProcess.getInputStream();
out.writeBytes("ps|grep'vpnloader'|cut-c10-14 ");
out.writeBytes("ps ");
out.flush();
try{
psProcess.waitFor();
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();}

if(is.read()!=0)
{
bytefirstByte=(byte)is.read();
intavailable=is.available();
byte[]characters=newbyte[available+1];
characters[0]=firstByte;
is.read(characters,1,available);
Stringre=newString(characters);

⑹ g700中android os进程包含哪些

我们通过ActivityManager获取了系统的可用内存信息以及正在运行在系统里的进程具体信息,当然你也可以选择手动杀死这些进程,不过前提是用户进程,因为系统进程是杀不死的。
资源文件什么的就不再贴代码了,直接列出逻辑文件。


获取系统可用内存的代码:MainActivity.java

package com.qin.ammp;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Debug;
import android.text.format.Formatter;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

private static String TAG = "AM_MEMORYIPROCESS" ;

private ActivityManager mActivityManager = null ;

private TextView tvAvailMem ;
private Button btProcessInfo ;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tvAvailMem = (TextView)findViewById(R.id.tvAvailMemory) ;
btProcessInfo =(Button)findViewById(R.id.btProcessInfo);
//跳转到显示进程信息界面
btProcessInfo.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this,BrowseProcessInfoActivity.class);
startActivity(intent);
}
});

//获得ActivityManager服务的对象
mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);

//获得可用内存信息
String availMemStr = getSystemAvaialbeMemorySize();
Log.i(TAG, "The Availabel Memory Size is"+availMemStr);
//显示
tvAvailMem.setText(availMemStr);

}
//获得系统可用内存信息
private String getSystemAvaialbeMemorySize(){
//获得MemoryInfo对象
MemoryInfo memoryInfo = new MemoryInfo() ;
//获得系统可用内存,保存在MemoryInfo对象上
mActivityManager.getMemoryInfo(memoryInfo) ;
long memSize = memoryInfo.availMem ;

//字符类型转换
String availMemStr = formateFileSize(memSize);

return availMemStr ;
}

//调用系统函数,字符串转换 long -String KB/MB
private String formateFileSize(long size){
return Formatter.formatFileSize(MainActivity.this, size);
}

}

获取系统进程信息的代码 :BrowseProcessInfoActivity .java


package com.qin.ammp;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Debug;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class BrowseProcessInfoActivity extends Activity implements OnItemClickListener{

private static String TAG = "ProcessInfo";
private static final int KILL_PORCESS = 1;
private static final int SEARCH_RUNNING_APP = 2;

private ActivityManager mActivityManager = null;
// ProcessInfo Model类 用来保存所有进程信息
private List<ProcessInfo> processInfoList = null;

private ListView listviewProcess;
private TextView tvTotalProcessNo ;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.browse_process_list);

listviewProcess = (ListView) findViewById(R.id.listviewProcess);
listviewProcess.setOnItemClickListener(this);

tvTotalProcessNo =(TextView)findViewById(R.id.tvTotalProcessNo);

this.registerForContextMenu(listviewProcess);
// 获得ActivityManager服务的对象
mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
// 获得系统进程信息
getRunningAppProcessInfo();
// 为ListView构建适配器对象
BrowseProcessInfoAdapter mprocessInfoAdapter = new BrowseProcessInfoAdapter(
this, processInfoList);
listviewProcess.setAdapter(mprocessInfoAdapter);

tvTotalProcessNo.setText("当前系统进程共有:"+processInfoList.size());
}
//杀死该进程,并且刷新
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, final int position, long arg3) {
// TODO Auto-generated method stub
new AlertDialog.Builder(this).setMessage("是否杀死该进程")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//杀死该进程,释放进程占用的空间
mActivityManager.killBackgroundProcesses(processInfoList.get(position).getProcessName());
//刷新界面
getRunningAppProcessInfo() ;
BrowseProcessInfoAdapter mprocessInfoAdapter = new BrowseProcessInfoAdapter(
BrowseProcessInfoActivity.this, processInfoList);
listviewProcess.setAdapter(mprocessInfoAdapter);
tvTotalProcessNo.setText("当前系统进程共有:"+processInfoList.size());

}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel() ;
}
}).create().show() ;
}
// 获得系统进程信息
private void getRunningAppProcessInfo() {
// ProcessInfo Model类 用来保存所有进程信息
processInfoList = new ArrayList<ProcessInfo>();

// 通过调用ActivityManager的getRunningAppProcesses()方法获得系统里所有正在运行的进程
List<ActivityManager.RunningAppProcessInfo> appProcessList = mActivityManager
.getRunningAppProcesses();

for (ActivityManager.RunningAppProcessInfo appProcessInfo : appProcessList) {
// 进程ID号
int pid = appProcessInfo.pid;
// 用户ID 类似于Linux的权限不同,ID也就不同 比如 root等
int uid = appProcessInfo.uid;
// 进程名,默认是包名或者由属性android:process=""指定
String processName = appProcessInfo.processName;
// 获得该进程占用的内存
int[] myMempid = new int[] { pid };
// 此MemoryInfo位于android.os.Debug.MemoryInfo包中,用来统计进程的内存信息
Debug.MemoryInfo[] memoryInfo = mActivityManager
.getProcessMemoryInfo(myMempid);
// 获取进程占内存用信息 kb单位
int memSize = memoryInfo[0].dalvikPrivateDirty;

Log.i(TAG, "processName: " + processName + " pid: " + pid
+ " uid:" + uid + " memorySize is -->" + memSize + "kb");
// 构造一个ProcessInfo对象
ProcessInfo processInfo = new ProcessInfo();
processInfo.setPid(pid);
processInfo.setUid(uid);
processInfo.setMemSize(memSize);
processInfo.setPocessName(processName);
processInfoList.add(processInfo);

// 获得每个进程里运行的应用程序(包),即每个应用程序的包名
String[] packageList = appProcessInfo.pkgList;
Log.i(TAG, "process id is " + pid + "has " + packageList.length);
for (String pkg : packageList) {
Log.i(TAG, "packageName " + pkg + " in process id is -->"+ pid);
}
}
}

public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.add(0, 0, KILL_PORCESS, "杀死该进程");
menu.add(0, 0, SEARCH_RUNNING_APP, "运行在该进程的应用程序");
super.onCreateContextMenu(menu, v, menuInfo);

}

public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()) {
case KILL_PORCESS: // 杀死该进程 , 重新加载界面
new AlertDialog.Builder(this).setMessage("是否杀死该进程")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub

}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.cancel() ;
}
}).create().show() ;
break;
case SEARCH_RUNNING_APP: // 查看运行在该进程的应用程序信息
break;
default:
break;
}
return super.onContextItemSelected(item);
}

}

我们可以通过进程占用内存大小来进而获取占用cpu大小,直接换算还是很简单的。

⑺ 在Android中,是否有获得当前进程名称的方法

方法一:调用ActivityManager

代码如下

ActivityManageram=(ActivityManager)this
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo>list=_am.getRunningAppProcesses();
for(inti=0;i<list.size();i++){
Log.i("tag",list.get(i).pid);
}

方法二:调用Process类获取

只需要一句代码即可

intpid=android.os.Process.myPid();

还可以使用android.os.Process.myTid()获取调用进程的线程ID

和android.os.Process.myUid():获取该进程的用户ID

⑻ 如何在android中取得当前进程名

在Android中,我们可以通过Process.myPid()和
RunningAppProcessInfo来取得当前的进程名。

示例1

String getCurProcessName(Context context) {
int pid = android.os.Process.myPid();
ActivityManager mActivityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager
.getRunningAppProcesses()) {
if (appProcess.pid == pid) {

return appProcess.processName;
}
}
return null;

⑼ Android中的进程有哪些,说出他们的优先级

你这问的贼有深度,链接给你网页链接我蹭个积分先

  • 前台进程

  • 可见进程

  • 服务进程

  • 后台进程

  • 空进程

热点内容
手机号改密码怎么改 发布:2025-01-18 17:15:38 浏览:65
java捕捉异常 发布:2025-01-18 17:05:18 浏览:265
lob存储器 发布:2025-01-18 16:49:36 浏览:145
c语言统计字符串出现次数 发布:2025-01-18 16:47:56 浏览:930
androidpcmamr 发布:2025-01-18 16:45:02 浏览:775
南昊成绩查询的密码是多少 发布:2025-01-18 16:44:53 浏览:89
雷克萨斯nx哪个配置最保值 发布:2025-01-18 16:07:41 浏览:463
怎么改加密密码 发布:2025-01-18 16:06:48 浏览:126
通过域名访问内网 发布:2025-01-18 16:01:39 浏览:276
md5加密后的密码是什么意思 发布:2025-01-18 15:50:16 浏览:193