ile işlem adını alın Bu basit olmalı, ancak göremiyorum.PID
İşlem kimliğim varsa, işlem adı gibi işlem hakkında bilgi almak için bunu nasıl kullanabilirim.
ile işlem adını alın Bu basit olmalı, ancak göremiyorum.PID
İşlem kimliğim varsa, işlem adı gibi işlem hakkında bilgi almak için bunu nasıl kullanabilirim.
Linux altında proc dosya sistemini okuyabilirsiniz. Dosya /proc/<pid>/cmdline
komut satırı içerir. Sadece tek bir program veya aynı adı taşıyan tüm programları istedik ve isteseydim
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)
: Windows'un
A Way herhangi modülleri indirmeden bilgisayarınızdaki programların tümünü pids almak için
Bir alternatif 'ps -o cmd =
Ve '/ proc/
deneyin psutil - Windows ve Unix üzerinde>https://github.com/giampaolo/psutil
İşleri ince, Hatırladığım.
Yapılması gereken doğru şey gibi görünüyor. Bununla birlikte, debian 5'de olmamasına rağmen beni rahatsız ediyor. – andyortlieb
Bu, debian ile (yaygın) bir sorun değil, psutil ile değil;) –
kaynaklardan yüklemek için sadece "python setup.py install" komutunu kullanabilirsiniz. –
süreci falan öldürmek: benim yöntemim öldürmek programının sadece bir hamur oldu
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)
daha iyi bir sürü yapabiliriz ama iyidir.
bu
def filter_non_printable(str):
ret=""
for c in str:
if ord(c) > 31 or ord(c) == 9:
ret += c
else:
ret += " "
return ret
#
# Get /proc/<cpu>/cmdline information
#
def pid_name(self, pid):
try:
with open(os.path.join('/proc/', pid, 'cmdline'), 'r') as pidfile:
return filter_non_printable(pidfile.readline())
except Exception:
pass
return
olası yinelenen deneyin [size Python programın işlem kimliği nasıl alabilirim?] (Http://stackoverflow.com/questions/3761639/how-do-you-get -Program-içinde-program-içinde-program- –
@PeterO. Bu soru, bunun ** tersi ** dir. –