IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

programme C++ avec shell


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 17
    Par d�faut programme C++ avec shell
    Bonjour � tous,
    J'ai un petit souci:

    Voil�, je dois �crire un client en C++ et ce client est un agent qui sera install� sur des machines pour r�cup�rer des infos statiques et variables de la machine:

    - infos statiques: (nom de la machine, adresse Ip, DNS, processeur(nbre, types)
    - infos variables (m�moire utilis�e, libre, %CPU utilis�....)

    J'ai pens� �crire des shell qui j'int�grerai dans mon programme C++. Mais je ne sais pas comment ex�cuter un shell � partir d'un prog C++.

    Qqn peut il m'aider?

    Merci d'avance

  2. #2
    Expert confirm�
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activit� : Software Engineer
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par d�faut Re: programme C++ avec shell
    Citation Envoy� par I_believe_I_can_fly
    Bonjour � tous,
    J'ai un petit souci:

    Voil�, je dois �crire un client en C++ et ce client est un agent qui sera install� sur des machines pour r�cup�rer des infos statiques et variables de la machine:

    - infos statiques: (nom de la machine, adresse Ip, DNS, processeur(nbre, types)
    - infos variables (m�moire utilis�e, libre, %CPU utilis�....)

    J'ai pens� �crire des shell qui j'int�grerai dans mon programme C++. Mais je ne sais pas comment ex�cuter un shell � partir d'un prog C++.

    Qqn peut il m'aider?

    Merci d'avance
    Executer un shell ou une commande shell, pour une commande shell tu peux via la fonction
    par exemple


  3. #3
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 17
    Par d�faut
    Bonjour Skyrunner,
    Merci d'avoir r�pondu � ma question.

    J'ai encore un autre souci.
    Je veux par exemple r�cup�rer le nom de la machine :
    J'�cris dans mon programme .
    Le pb c'est qu'il m'affiche le r�sultat sur la console. Moi j'aimerais bien r�cup�rer le r�sultat dans une variable de mon programme. Comment puis je faire?

    Merci d'avance.

  4. #4
    Membre �m�rite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    D�tails du profil
    Informations personnelles :
    �ge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par d�faut
    Si tu veux utiliser cette solution :

    Il te faudra cr�er un pipe et rediriger la sortie de system("Cmd") sur ce pipe.

    Autre solution: Ajouter des arguments de retour � test Script et les passer dans system.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    system("Cmd Arg1 Arg2");
    Je n'ai pas test� mais je pense que �a peut marcher.

  5. #5
    Membre chevronn�
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    394
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 394
    Par d�faut
    Je pense qu'un solution beaucoup plus simple � mettre en oeuvre est d'utiliser des fichiers
    temporaires.
    Chaque scripte est appel� avec un nom de fichier en param�tre. Le programme principal
    se charge ensuite de charger les fichiers et d'interpreter les r�sultats.

  6. #6
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 17
    Par d�faut
    J'ai �crit mon programme comme suit:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    system(hostname > fichier)
    Le nom de la machine m'est retourn� dans le fichier de nom "fichier".
    Ensuite je lis dans ce fichier pour r�cup�rer le r�sultat.
    Mais ce traitement me semble un peu long.

    Y aurait il pas une fonction en C ou en C++ qui permet de r�cup�rer:
    - Le nom d'une machine
    - son adresse dns
    - le nom du serveur dns/.....

  7. #7
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    cherhce du cot� de gethostname() et gethostbyname()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 17
    Par d�faut
    Bonjour,
    J'ai encore besoin de votre aide.
    J'ai trouv� la solution pour r�cup�rer le nom de la machine ainsi que l'adresse IP.
    Il me faut maintenant une fonction qui permet de r�cup�rer:
    - l'adresse DNS
    - la vitesse des processeurs de la machine.

    Ou pouvez vous me dire les fonctions qui permettent d'acc�der au fichier /proc/cpuinfo

    Je vous remercie de votre aide.

  9. #9
    Membre �m�rite Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    D�tails du profil
    Informations personnelles :
    �ge : 53

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Par d�faut
    Je pense qu'un fopen avec quelques options doit �tre suffisant.

    C'est sans garanti, mais essai quand m�me. Apr�s tout c'est un fichier sp�cial, rien de plus.

  10. #10
    Membre �clair� Avatar de nicolas66
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2004
    Messages
    326
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 326
    Par d�faut
    Si t'es sous linux ya ptet quelques infos qui peuvent t'int�resser dans le fichier '/proc/cpuinfo'. Bon courage je dois aller en cours

  11. #11
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    177
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 177
    Par d�faut
    dans le code de quake3 il y a ca
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    // sysconf() in libc, POSIX.1 compliant
    unsigned int Sys_ProcessorCount()
    {
      return sysconf(_SC_NPROCESSORS_ONLN);
    }

    un peu d'aide sur sysconf :
    http://ou800doc.caldera.com/en/man/h...ysconf.3C.html

    Sinon Sysinfo a l'air terrible aussi ^^
    http://ou800doc.caldera.com/en/man/h...sysinfo.2.html

  12. #12
    Membre averti
    Inscrit en
    Ao�t 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2005
    Messages : 17
    Par d�faut
    Bonjour,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     un peu d'aide sur sysconf :
    http://ou800doc.caldera.com/en/man/html.3C/sysconf.3C.html
     
    Sinon Sysinfo a l'air terrible aussi ^^
    http://ou800doc.caldera.com/en/man/html.2/sysinfo.2.html
    Merci pour les liens.

    En fait j'utilise une version Debian. Et �� la librairie systeminfo.h n'existe pas.
    Comment puis je faire?

    Merci d'avance

Discussions similaires

  1. R�ponses: 4
    Dernier message: 11/01/2010, 09h32
  2. Comment fermer un programme ouvert avec la fonction Shell
    Par nicolas2603 dans le forum VBA Access
    R�ponses: 13
    Dernier message: 08/02/2008, 20h01
  3. R�ponses: 11
    Dernier message: 26/04/2007, 16h34
  4. Programmation crontab avec script shell
    Par burhud dans le forum Linux
    R�ponses: 3
    Dernier message: 05/12/2006, 14h46
  5. Programmation WEB avec delphi
    Par mayoguy dans le forum Web & r�seau
    R�ponses: 4
    Dernier message: 20/08/2002, 19h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo