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

Linux Discussion :

execl en c (client serveur)


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 79
    Points : 37
    Points
    37
    Par défaut execl en c (client serveur)
    Bonjour, j'ai un programme client serveur en c (fork), qui fonctionne bien.
    Et d'un autre coté j'ai un script shell, lui aussi fonctionne bien.
    J'aimerais que le script soit appelé dans le programme C
    J'ai mis la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    execl("/home/cron/index.chl","index.chl","3","4",NULL);
    Dans un fichier log: je constate que sans la ligne execl la suite s'execute
    mais dès que je remets cette ligne, le programme s'arrete (je pense).
    Avec un ps -x je constate que j'ai: index.ch <defunct>

    Je pense que mon problème est le fait que le script est trop long en temps d'execution et que le code c, lorsqu'il est rappelé par un autre fils il bloque car l'autre processus n'est pas terminé son execution.

    Je ne sais plus comment résoudre le problème !

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par majong Voir le message
    Je pense que mon problème est le fait que le script est trop long en temps d'execution et que le code c, lorsqu'il est rappelé par un autre fils il bloque car l'autre processus n'est pas terminé son execution.
    Tu peux vérifier ça en écrivant un script "toto.sh" (tu remarques l'extension ".sh" indiquant aux autres qu'il s'agit d'un shell) et ne faisant qu'une commande simple et demander à ton fils d'exécuter ce programme voir si c'est bien ça. Théoriquement, plusieurs processus peuvent lancer le même script sans problème.

    Citation Envoyé par majong Voir le message
    Je ne sais plus comment résoudre le problème !
    T'as pensé au system() ??? Au-moins le code de ton fils ne sera pas remplacé par le code du shell donc tu continues à avoir la main sur lui...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Web contre client/serveur que choisir??
    Par silvermoon dans le forum Débats sur le développement - Le Best Of
    Réponses: 41
    Dernier message: 24/01/2004, 15h53
  2. Quel outil pour du développement Client/Serveur (Win XP) ?
    Par jey_bonnet dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 02/11/2002, 14h57
  3. Réponses: 2
    Dernier message: 01/10/2002, 12h25
  4. comment gerer plusieurs connexions client/serveur
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/08/2002, 16h58
  5. Langage le mieux adapté pour application client serveur ?
    Par guenus dans le forum Débats sur le développement - Le Best Of
    Réponses: 4
    Dernier message: 17/06/2002, 15h46

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