运行 adb with python: 执行一个程序并结束它
running adb with python: executing a program and ending it
我正在尝试通过 python 代码执行 adb 交互。
我在 android 设备上有一个无穷无尽的可执行文件,我想启动它并在 10 秒后将其终止。
现在,我可以让程序启动,但不能通过手动按下 ctrl+c 来终止它。
procID = subprocess.Popen(["adb", "shell"], stdin=subprocess.PIPE,)
procID.communicate('su\n endless_program data/test 5\n')
time.sleep(5)
os.kill(procID, signal.SIGINT)
procID.kill()
我尝试用 os.kill 或 procID.kill 杀死它,但两者似乎都不起作用。
我也尝试过使用 pexpect,但由于某些原因我无法将其发送到 运行 adb。
您只是终止了 adb shell 会话,它不会终止 运行 应用程序。如果您想终止 运行 Android 应用程序,您必须通过 adb shell 停止该应用程序。有关详细信息,请查看此 Whosebug answer.
我正在尝试通过 python 代码执行 adb 交互。 我在 android 设备上有一个无穷无尽的可执行文件,我想启动它并在 10 秒后将其终止。 现在,我可以让程序启动,但不能通过手动按下 ctrl+c 来终止它。
procID = subprocess.Popen(["adb", "shell"], stdin=subprocess.PIPE,)
procID.communicate('su\n endless_program data/test 5\n')
time.sleep(5)
os.kill(procID, signal.SIGINT)
procID.kill()
我尝试用 os.kill 或 procID.kill 杀死它,但两者似乎都不起作用。
我也尝试过使用 pexpect,但由于某些原因我无法将其发送到 运行 adb。
您只是终止了 adb shell 会话,它不会终止 运行 应用程序。如果您想终止 运行 Android 应用程序,您必须通过 adb shell 停止该应用程序。有关详细信息,请查看此 Whosebug answer.