2013-05-01 13 views
14

Tüm işlem isimleri, CPU, Mem Usage ve Peak Mem Kullanımının bir listesini almak istiyorum. Klişeleri kullanabileceğimi umuyordum. ama başka seçenekleri duymaktan mutluluk duyuyorum. Zaman ayırdığın için teşekkürler.Python - işlem isimleri, CPU, Mem Kullanımı ve Peak Mem Kullanımı pencerelerinde

+1

Bunu [psutil] daha iyi yapamaz (http://code.google.com/p/psutil/) pencerelerinde – JBernardo

+0

en iyi bahis muhtemelen performans sayaçlarını olurdu. – ren

cevap

30

. CPU kullanımı psutil.cpu_percent veya psutil.cpu_times hakkında bilgi için

process_names = [proc.name() for proc in psutil.process_iter()] 

: Örneğin

işlem isim listesini elde etmek için. Bellek kullanımı hakkında bilgi için psutil.virtual_memory kullanın.

Not: psutil Linux, OS X, Windows, Solaris ve FreeBSD ve python 2.4 ile 3.3 arasında çalışır.

+0

, işlem başına ** ağ istatistiklerini ** alabilmektedir? Bir saatliğine doktora gittim ve dokümanlar okudum, hiçbir şey bulamadım – chester89

+0

@ chester89 Bu soruyla ilgisi yok. Lütfen ağ kullanımıyla ilgili psutil soruları için SO aramayı deneyin ve sonrasında tatmin edici bir cevap bulamadıysanız, lütfen devam edin ve bununla ilgili yeni bir soru sorun. Her durumda ['Process.connections'] seçeneğini işaretlemelisiniz. (https://pythonhosted.org/psutil/#psutil.Process.connections). – Bakuriu

+0

Bu modül aracılığıyla kullandığı bant genişliğini nasıl bilebilirim? –

3

Windows'ta wmic'u kullanmayı seviyorum. Komut satırından çalıştırabilirsiniz, böylece Python'dan çalıştırabilirsiniz.

from subprocess import Popen,PIPE 
proc = Popen('wmic cpu',stdout=PIPE, stderr=PIPE) 
print str(proc.communicate()) 

wmic ile kolayca süreçleri, cpu ve bellek bilgisi alabilirsiniz. Sadece wmic cpu, wmic process ve wmic memphysical kullanın. Ayrıca, wmic <alias> get <attribute>'u kullanarak belirli öznitelikleri filtreleyebilirsiniz. Ve wmic /? ile tüm komutların bir listesini alabilirsiniz. Umarım yardımcı olur!

Burada WMIC'de için resmi belgelerine bakabilirsiniz: Sen psutil kullanabilirsiniz http://technet.microsoft.com/en-us/library/bb742610.aspx

+0

Teşekkürler, bu harika olurdu ama yönetici olarak çalıştırılmalı, komut satırında kullanmadan önce onu yönetici olarak çalıştırmanın bir yolu var mı? – Daniel

1

Bu Python 3.3 kodu, Windows 7 için UAC'yi sonuna kadar çalışır.

import psutil 
import time 

def processcheck(seekitem): 
    plist = psutil.get_process_list() 
    str1=" ".join(str(x) for x in plist) 
    if seekitem in str1: 
     print ("Requested process is running") 

processcheck("System") 
İlgili konular