Salute a tutti, sono lieto di annunciare il rilascio della versione 0.4.0 di psutil: http://code.google.com/p/psutil
=== About === psutil è una libreria che permette di ottenere informazioni riguardo i processi in esecuzione e il sistema operativo (CPU, memoria, dischi, rete) implementando diverse funzionalità offerte da tool da linea di comando quali ps, top, lsof, netstat e altri. Supporta Linux, Windows, OSX e FreeBSD, sia 32-bit che 64-bit, su Python da 2.4 a 3.2 utilizzando un'unica code-base. === Nuove features === Oltre a fixare diversi bug ad alta priorità questa release offre 2 nuove importanti funzionalità: i contatori di utilizzo disco e interfacce di rete con i quali è possibile scrivere applicazioni di monitoraggio di questo tipo: http://code.google.com/p/psutil/source/browse/trunk/examples/iotop.py http://code.google.com/p/psutil/source/browse/trunk/examples/nettop.py ...e qui alcuni screenshots: http://code.google.com/p/psutil/#Example_applications === Altre migliorie == - Process.get_connections() ha un nuovo parametro "kind" per filtrare le connessioni in base alla famiglia (ipv4/6) e il tipo (TCP/UDP). - Process.wait() può essere utilizzato in modo non bloccante passando timeout=0 come parametro. - Installer Python 3.2 per Windows 64-bit - (FreeBSD) aggiunto supporto per determinare la directory di lavoro corrente del processo (Process.getcwd()) - (FreeBSD) Process.get_open_files() (files aperti dal processo) è stata riscritta in C (non richiede più lsof) Per una lista completa dei cambiamenti si veda: http://psutil.googlecode.com/svn/trunk/HISTORY === New features by example === ...Un po' di codice: >>> import psutil >>> >>> psutil.disk_io_counters() iostat(read_count=8141, write_count=2431, read_bytes=290203, write_bytes=537676, read_time=5868, write_time=94922) >>> >>> psutil.disk_io_counters(perdisk=True) {'sda1' :iostat(read_count=8141, write_count=2431, read_bytes=290203, write_bytes=537676, read_time=5868, write_time=94922), 'sda2' :iostat(read_count=811241, write_count=31, read_bytes=1245, write_bytes=11246, read_time=768008, write_time=922)} >>> >>> >>> psutil.network_io_counters() iostat(bytes_sent=1270374, bytes_recv=7828365, packets_sent=9810, packets_recv=11794) >>> >>> psutil.network_io_counters(pernic=True) {'lo': iostat(bytes_sent=800251705, bytes_recv=800251705, packets_sent=455778, packets_recv=455778), 'eth0': iostat(bytes_sent=813731756, bytes_recv=4183672213, packets_sent=3771021, packets_recv=4199213)} >>> >>> >>> import os >>> p = psutil.Process(os.getpid()) >>> p.get_connections(kind='tcp') [connection(fd=115, family=2, type=1, local_address=('10.0.0.1', 48776), remote_address=('93.186.135.91', 80), status='ESTABLISHED')] >>> p.get_connections(kind='udp6') [] >>> p.get_connections(kind='inet6') [] >>> === Links === * Home page: http://code.google.com/p/psutil * Sorgenti: http://psutil.googlecode.com/files/psutil-0.4.0.tar.gz * Documentazione: http://code.google.com/p/psutil/wiki/Documentation Grazie dell'attenzione e ciao a tutti. --- Giampaolo Rodola' http://code.google.com/p/pyftpdlib/ http://code.google.com/p/psutil/ _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python