Für Windows
Ein Weg, um alle PIDs Programme auf Ihrem Computer zu erhalten, ohne Module Download:
import os
pids = []
a = os.popen("tasklist").readlines()
for x in a:
try:
pids.append(int(x[29:34]))
except:
pass
for each in pids:
print(each)
Wenn Sie nur ein Programm oder alle Programme mit dem gleichen Namen gesucht und Sie wollten den Prozess oder etwas zu töten:
import os, sys, win32api
tasklistrl = os.popen("tasklist").readlines()
tasklistr = os.popen("tasklist").read()
print(tasklistr)
def kill(process):
process_exists_forsure = False
gotpid = False
for examine in tasklistrl:
if process == examine[0:len(process)]:
process_exists_forsure = True
if process_exists_forsure:
print("That process exists.")
else:
print("That process does not exist.")
raw_input()
sys.exit()
for getpid in tasklistrl:
if process == getpid[0:len(process)]:
pid = int(getpid[29:34])
gotpid = True
try:
handle = win32api.OpenProcess(1, False, pid)
win32api.TerminateProcess(handle, 0)
win32api.CloseHandle(handle)
print("Successfully killed process %s on pid %d." % (getpid[0:len(prompt)], pid))
except win32api.error as err:
print(err)
raw_input()
sys.exit()
if not gotpid:
print("Could not get process pid.")
raw_input()
sys.exit()
raw_input()
sys.exit()
prompt = raw_input("Which process would you like to kill? ")
kill(prompt)
das war nur eine Paste aus meinem Prozess Programm kill ich es viel besser machen könnte, aber es ist in Ordnung.
installiert werden, wenn Sie Kreuz arbeiten möchten -Plattform (zB ebensogut unter Linux, Mac, Solaris, ...) gibt es keinen besseren Weg als die 'pf' Ausgabe zu parsen. Wenn es für eine einzelne, sehr spezifische Plattform ist, editieren Sie bitte Ihr Q, um die offensichtlich entscheidenden Informationen (genaue OS-Versionen, die Sie anvisieren müssen) * und * das Tag hinzuzufügen! –
Sie können die Ausgabe der PS direkt in Python analysieren – Mark