2009-07-22 6 views
6

Je dois récupérer des informations de processus dans un programme C/C++. J'ai besoin d'au moins des choses de base comme le pourcentage de CPU et l'utilisation de la mémoire, mais des détails supplémentaires seraient également utiles. Le problème est que j'ai besoin d'utiliser cette information dans un programme portable, qui fonctionnera sur plusieurs plates-formes: Windows, Linux, MAC et peut-être aussi Solaris.bibliothèque d'informations système/processus portable

Y a-t-il une bibliothèque que je peux utiliser ou dois-je écrire ma propre HAL pour les différentes plates-formes? J'ai essayé de regarder sur google, mais je ne pouvais rien voir d'évident.

Répondre

0

Cette information doit être récupérée du système d'exploitation.
Par définition, ce n'est pas portable, mais il existe quelques couches d'abstraction d'OS. Celui qui vient à l'esprit est ACE.

+0

ACE ne semble pas contenir ce OP a demandé. Qt, btw, ne le fait pas non plus. Semble être non-trivial ... –

+0

Le problème est trivial. C'est juste que chaque système est différent. –

1

Je ne peux pas vous aider avec une solution complète, mais voici un lien vers ma classe CPULoadMeter, que vous pouvez utiliser pour interroger les informations d'utilisation du processeur au fil du temps. Il fonctionne sous MacOS/X, Windows et Linux (et éventuellement d'autres Unixy-OS qui ont aussi/proc/stat, je ne sais pas). Peut-être pouvez-vous l'utiliser comme point de départ.

https://public.msli.com/lcs/muscle/muscle/util/CPULoadMeter.h https://public.msli.com/lcs/muscle/muscle/util/CPULoadMeter.cpp