J'ai déjà fait une fois un code de ce genre-là, malheureusement je ne l'ai pas sous la main. La solution que j'avais employé, et qui était très efficace, était de parcourir bêtement /proc. Dans ton cas, tu n'auras qu'à faire :
int i;
struct stat buffer;
#define MAX_PID 32768
#define UID_UTILISATEUR /* ha ben je ne sais pas, moi! tape "id" dans un shell */
for(i=&;i<MAX_PID;i++){
sprintf(chemin,"/proc/%d",i);
if((stat(chemin,&buffer)!=-1) && (buffer.st_uid==UID_UTILISATEUR)){
mettre_dans_fichier(i);
}
}
Bon, c'est juste un code sale, pour te montrer comment ça marche, pour faire cela proprement, il faudrait par exemple récupérer MAX_PID au niveau des symboles exportés par le noyau (je crois qu'il se trouve là...).
[^] # Re: System
Posté par CoinKoin . En réponse au message ecrire la liste des processus utilisateurs dans un fichier texte. Évalué à 2.