Unix : lister le nombre de processus tournant sur la machine

Contenu du snippet

Salut à tous,

Petite fonction simple mais utile et commentée qui retourne le nombre de processus tournant sur la machine

Source / Exemple :


// Fonction permettant de lister le nombre de processus tournant sur la machine
// Utilise :
// cstdlib pour la fonction atoi()
// dirent.h pour les fonctions opendir(), readdir() et closedir()

int processNumber()
{
	// Déclaration des variables utilisés par la fonction
	struct dirent *Read;
	DIR *Repo;
	
	Repo = opendir("/proc"); // Ouverture du pseudo-répertoire /proc
	int processNumber = 0; // On initialise à zéro (pour incrémenter plus tard)
	while ((Read = readdir(Repo))) // Lecture des pseudo-répertoires
	{
		if(atoi(Read->d_name) > 0 && atoi(Read->d_name) < 32768) // On prends seulement les pseudo-répertoires numériques (PID, donc)
		{
			processNumber++; // Incrémente le nombre de processus
		}
	}
	closedir(Repo);
	return processNumber; // Et on retourne le nombre de PID (Donc de processus) ;) 
}

Conclusion :


Voilà :)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.