[英]How to kill this python process opened using subprocess.pOpen() in Windows?
[英]kill adb opened with subprocess.popen in python
我需要從我的python庫運行命令adb get-state。
我用了
subprocess.popen
執行命令並使用pid終止進程。
如果adb守護程序未處於運行狀態,則adb進程將創建一個額外的adb進程,並終止啟動該守護程序后創建的第一個進程(甚至手動啟動該進程)。
因此,我無法殺死由子進程打開打開的adb進程,因為它具有第一個adb進程的pid(已經終止)
有什么辦法可以殺死真正的從python執行命令的adb進程。
我建議您在開始一個新的進程之前先殺死adb的所有正在運行的進程。 這是一些示例代碼,它們可以殺死Windows環境下已經運行的進程。
此代碼將殺死任何已在運行的adb進程,然后為adb打開一個新的進程守護程序
樣例代碼:
import subprocess
import os
p = subprocess.Popen("tasklist", stdout=subprocess.PIPE)
RunningProcessLIst = p.stdout.readlines()
print("Kill all running instances of adb.exe")
for runningPro in RunningProcessLIst :
if "adb.exe" in str(runningPro) :
os.system("taskkill /F /IM adb.exe")
process =subprocess.Popen("I:\\adb\\Win32\\adb.exe adb get-state") # you subprocesses call will be here
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.