2017-05-03 6 views
0
>>> os.system('adb shell pidof logcat') 

750 4774 

0 
>>> os.system('adb shell ps | grep logcat') 

root  750 1  8760 1720 __skb_recv 7f8f5a5edc S /system/bin/logcat 

root  4774 4681 8708 1696 __skb_recv 7f98efeedc S logcat 

Es gibt 2 Prozess von Logcat. Wie beide Prozess-ID töten: 750 4774Wie Prozess nach Name in Python zu beenden

Antwort

2
import subprocess 
subprocess.call(['taskkill.exe', '/IM', 'logcat']) 

Sie könnten shell=True verwenden müssen, wenn es nicht TaskKill.exe finden.

+1

i die oben hat man versucht. aber es wirft Fehler: Traceback (letzten Anruf zuletzt): Datei "", Zeile 1, in Datei "C: \ Python27 \ lib \ subprocess.py", Zeile 522, in Anruf zurückgeben Popen (* popenargs (** kwargs) .wait() Datei "C: \ Python27 \ lib \ subprocess.py", Zeile 709, in __init__ errread, errrite) Datei "C: \ Python27 \ lib \ subprocess.py", Zeile 957, in _execute_child startupinfo) WindowsError: [Fehler 2] Das System kann die angegebene Datei nicht finden – panchanan

+1

Warte, wenn das Windows-Code ist, warum nicht einfach 'taskkill.exe/IM logcat'? – ShadowRanger

+0

@ShadowRanger: Ein feiner Punkt. Ich habe die Antwort erneut aktualisiert. –

2

können Sie psutil versuchen

import psutil 

PROC_NAME = "abc.exe" 

for proc in psutil.process_iter(): 
    # check whether the process to kill name matches 
    if proc.name() == PROC_NAME: 
     proc.kill() 
Verwandte Themen