-1
私はPythonコードでadbのやりとりを実行しようとしています。 私はアンドロイドデバイスで実行可能なエンドレスな実行可能ファイルを持っています。これは10秒後に起動したいものです。 今、私はプログラムを起動することができますが、手動でctrl + cを押すと他のプログラムを強制終了することはできません。pythonでadbを実行する:プログラムを実行して終了する
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を実行することができません。
こんにちはPhidelux、すばやい返信をいただきありがとうございます。 'adbシェル'と '無限プログラム'を実行した後、プログラム出力はcmdウィンドウを介して実行されます。したがって、私はctrl + cを行うまで、私はadbコマンドへのアクセス権を持っていません。したがって、そのadbシェルセッションでさえも終了されません。私は十分にクリアですか? – TamirE
最初のシェルをブロックするプロセスを終了させるために2番目のシェルを起動することはできませんか? – Phidelux
hmmmm ...面白いです。私はそれを試してみましょう – TamirE