linux user group brescia

immagine del castello

Archivio della mailing list

Raccolta statistiche

Giuseppe Corbelli cowo78 a gmail.com
Ven 20 Giu 2008 08:21:22 UTC
Carlo Bertoldi wrote:
> Ciao,
>  sto facendo un programma (in C) che deve raccogliere varie statistiche 
> sulla macchina, ad esempio, il numero totale di processi in esecuzione, 
> il numero di porte aperte, il numero di utenti attualmente connessi, 
> ecc. ecc.
> Alcuni di questi dati sono facilmente ottenibili tramite funzioni di 
> libreria, e.g: per il numero di utenti basta scorrere utmp tramite 
> setutent() e getutent().
> Per calcolare gli altri dati, invece, la cosa più semplice che mi viene 
> in mente è quella di estrarli concatenando pochi comandi da shell:
> ps ahux | grep -v "ps ahux" | grep -v grep | wc -l
> mi dice quanti processi attivi ci sono.

Ma allora cosa lo scrivi a fare in C? Lo fai direttamente via shell.
Potresti usare poll() per valutare i cambiamenti in /proc, accoppiata a 
scandir() con eventualmente una cache.

-- 
         Giuseppe "Cowo" Corbelli ~\/~ My software: http://cowo.yoda2000.net
-<! Non c'e' niente da dire in proposito. Tutto quello che uno deve fare e'
   colpire i tasti giusti al momento giusto, e lo strumento suona da solo. !>-
                                 J.S. Bach



Maggiori informazioni sulla lista Lug