Serveur pour surveillance de process

Serveur pour surveillance de process - C++ - Programmation

Marsh Posté le 12-11-2006 à 12:27:55    

Bonjour,
je doit réaliser un projet qui consiste a surveiller les processus dans un parc informatique. Je dois pour cela faire un serveur Linux qui possède une base de données dans laquelle sont repertoriés tous les processus (utiles et interdits). Je dois également creer une interface ludique pour l'administrateur réseau qui lui permet d'acceder a la base, et de gerer les process.
 
Je pense que pour l'interface je pourrais la réaliser en C, seulement je ne m'y connait pas trop en serveur Linux, j'aimerais donc savoir si je dois utiliser un serveur déja fait (samba,etc...) ou en bidouiller 1 en C?  
Comment feriez vous pour réaliser ce projet svp ?
d'avance merci, a bientot  :hello:

Reply

Marsh Posté le 12-11-2006 à 12:27:55   

Reply

Marsh Posté le 13-11-2006 à 11:30:44    

Je te propose une méthode un peu "bourrin", pas propre, pas politiquement correcte...
Mais qui te permettra peut etre d'avancer un peu dans ton projet jusqu'à ce que tu trouves une meilleure solution.
 
A moins d'avoir loupé quelque chose, ton programme tournera sous linux.
 
Tu peux essayer quelque chose du genre : ( code inexact, je "pisse" le code, a toi d'adapter )
 

Code :
  1. #include <linux/fork.h>
  2. #include <fstream.h>
  3. int iForkReturn;
  4. void main(void) {
  5.    vector <String> vsTableProcess;
  6.    iForkReturn=fork();
  7.    String buffer;
  8.  
  9.    if (!iForkReturn) {
  10.       ifstream ifsPsReturn;
  11.       execl("ps ax > temp.out" ); // a modifier, syntaxe approximative
  12.       ifsPsReturn.open("temp.out" );
  13.       while (!ifsPsReturn.eof()) {
  14.          ifsPsReturn >> buffer;
  15.          vsTableProcess.push(buffer); // accumule les process dans le vecteur, ligne par ligne
  16.       }
  17.       ifsPsReturn.close();
  18.    } else {
  19.       usleep(500000); // attendre 500ms ( tres sale, a éviter )
  20.       // Maintenant tu fais ce que tu as a faire, ton vector vsTableProcess contient des Strings
  21.       // qui décrivent tous les processus qui tournent sur le systeme, t'as plus qu'a analyser
  22.       // ton vecteur avec l'itérateur qui va bien, pour la signification de chaque ligne, "man ps" est ton ami
  23. }


 
Je suis bien conscient que ce pseudo-code est juste bon a être imprimé sur du PQ pour rire un peu pendant la pause pipi.
Mais si ça peut débloquer la situation...
 
 

Reply

Marsh Posté le 13-11-2006 à 11:50:49    

t'es sous Linux ? tu veux faire du GPL ? alors utilise libgtop

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed