如何使用adb在Android设备上启动进程

如何使用adb在Android设备上启动进程,android,adb,Android,Adb,我使用adb命令来管理android手机上的进程 我可以通过命令终止特定进程 adb kill "PID" (PID is the process ID) adb start "PID" 这一过程就会被扼杀 但是当我使用命令启动它时 adb kill "PID" (PID is the process ID) adb start "PID" 它不会启动这个过程 我希望启动的进程位于/system/bin文件夹中,我不知道该进程的包或活动名称。我只知道流程的“PID”和“用户” and

我使用adb命令来管理android手机上的进程

我可以通过命令终止特定进程

adb kill "PID"  (PID is the process ID)
adb start "PID"
这一过程就会被扼杀

但是当我使用命令启动它时

adb kill "PID"  (PID is the process ID)
adb start "PID"
它不会启动这个过程

我希望启动的进程位于/system/bin文件夹中,我不知道该进程的包或活动名称。我只知道流程的“PID”和“用户”


android设备上是否有启动特定进程的命令?

一旦您终止了与
PID
对应的进程,您如何再次启动它

您可以尝试通过以下方式从
adb
启动应用程序:-

adb shell
am start -n com.package.name/com.package.name.ActivityName
或者,您可以直接使用:

adb shell am start -n com.package.name/com.package.name.ActivityName

一旦终止了与
PID
对应的进程,如何再次启动它

您可以尝试通过以下方式从
adb
启动应用程序:-

adb shell
am start -n com.package.name/com.package.name.ActivityName
或者,您可以直接使用:

adb shell am start -n com.package.name/com.package.name.ActivityName

本机应用程序没有活动。它们只是本地二进制文件

如果您只知道进程的数字ID,那么
ps
命令将在
name
列中显示进程二进制文件的名称。像这样:

# ps 407
USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
root      407   1     4540   272   ffffffff 000160a4 S /sbin/adbd
如果
PPID
值为
1
,则表示该应用程序已由系统
init
启动,并且该应用程序很可能是一个“服务”应用程序。要控制它,您需要找到服务的名称,然后只需使用
stop
start

要查找服务名称,请运行
grep^service/init*rc|grep
服务名称将位于第二列(即“adbd”):


因此,要正确控制此应用程序-您应该使用
停止adbd
启动adbd

本机应用程序没有活动。它们只是本地二进制文件

如果您只知道进程的数字ID,那么
ps
命令将在
name
列中显示进程二进制文件的名称。像这样:

# ps 407
USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME
root      407   1     4540   272   ffffffff 000160a4 S /sbin/adbd
如果
PPID
值为
1
,则表示该应用程序已由系统
init
启动,并且该应用程序很可能是一个“服务”应用程序。要控制它,您需要找到服务的名称,然后只需使用
stop
start

要查找服务名称,请运行
grep^service/init*rc|grep
服务名称将位于第二列(即“adbd”):


因此,要正确控制此应用程序-您应该使用
停止adbd
启动adbd

您说您知道您的二进制文件位于/system/bin中,所以我假设您也知道该二进制文件的名称。 如果您没有,该命令将帮助您发现:

ps PID
要启动二进制文件(如正常运行时间),只需在shell中键入其名称:

adb shell
uptime
或者在一个命令中

adb shell uptime
但如果二进制文件不在$PATH中列出的目录中,则必须键入该文件的整个路径

adb shell /system/bin/uptime
您可以通过以下方式检查$PATH:

adb shell echo $PATH

您说过您知道您的二进制文件位于/system/bin中,所以我假设您也知道该二进制文件的名称。 如果您没有,该命令将帮助您发现:

ps PID
要启动二进制文件(如正常运行时间),只需在shell中键入其名称:

adb shell
uptime
或者在一个命令中

adb shell uptime
但如果二进制文件不在$PATH中列出的目录中,则必须键入该文件的整个路径

adb shell /system/bin/uptime
您可以通过以下方式检查$PATH:

adb shell echo $PATH

我要开始的进程位于/system/bin文件夹中,我不知道该文件夹的包名。。我只知道PID和该进程的用户。您可以使用
PID
方式获取正在运行的应用程序信息。在那之后,你可以按照我上面的建议去做。我要开始的过程是在/system/bin文件夹中,我不知道这个包的名称。。我只知道PID和该进程的用户。您可以使用
PID
方式获取正在运行的应用程序信息。在那之后,你可以按照我上面的建议去做。这是本地的还是dalvik的应用程序?您能给出实际名称吗?此应用程序位于/system/bin文件夹中,这是本机应用程序。这是本机应用程序还是dalvik应用程序?您能给出实际名称吗?此应用程序位于/system/bin文件夹中,这是一个本机应用程序。