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 :

controle processus "exec" dans un programme


Sujet :

Linux

  1. #1
    Membre confirmé

    Homme Profil pro
    Retraite
    Inscrit en
    octobre 2005
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : octobre 2005
    Messages : 323
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut controle processus "exec" dans un programme
    Bonjour,

    voilà j'arrive du monde IBM depuis plus de 40ans et passé par MS,

    merci (le tuto sur unixlinux génial)

    j'ai eu du mal avec le signal SIGHUP car en windows MS je contrôlais parfaitement les interruptions avec les API windows
    mon problème était de garantir la fiabilité de la BD (commit rolback) plus que d'interdire le kill du terminal ALT-F4 etc...


    je veux reprendre des écrans 5250 et les traduire ainsi que des programmes RPG4 ou 80% du code est purement pour de la gestion.

    bien sur tout cela sur Linux.

    j'utilise codeblock GCC C++ et ncurses OBBC BD2 sqlite

    maintenant que je commence à pouvoir dire que le programme finiras proprement malgré SIGHUP

    j'en viens a ma question si j' appel un programme dans mon programme

    exec (call) nompgm parm

    est ce que je peut maîtriser son type arrêt svp

    un exemple serait le bienvenu, des conseils de lecture svp



    @bientôt

  2. #2
    Membre actif
    Homme Profil pro
    Bioinformaticien
    Inscrit en
    octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Bioinformaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : octobre 2008
    Messages : 126
    Points : 294
    Points
    294
    Par défaut
    Salut,

    Je n'ai pas compris ce que tu voudrais faire, un extrait de ton code aurait été mieux. Sinon, pour une lecture sur la programmation système, je propose "Advanced Programming in the Unix Environment" de R. Stevens.

    exec est une famille de fonctions, il faut bien choisir laquelle utiliser. Voir par exemple ce tutoriel:
    http://mtodorovic.developpez.com/lin...ation-avancee/

    Et un exemple de code copié de la référence susmentionnée :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #include "apue.h"
    #include <sys/wait.h>
     
    char    *env_init[] = { "USER=unknown", "PATH=/tmp", NULL };
     
    int
    main(void)
    {
        pid_t   pid;
     
        if ((pid = fork()) < 0) {
            err_sys("fork error");
     
        } else if (pid == 0) {  /* specify pathname, specify environment */
     
            if (execle("/home/sar/bin/echoall", "echoall", "myarg1",
                    "MY ARG2", (char *)0, env_init) < 0)
                err_sys("execle error");
        }
     
        if (waitpid(pid, NULL, 0) < 0)
            err_sys("wait error");
     
        if ((pid = fork()) < 0) {
            err_sys("fork error");
     
        } else if (pid == 0) {  /* specify filename, inherit environment */
     
            if (execlp("echoall", "echoall", "only 1 arg", (char *)0) < 0)
                err_sys("execlp error");
        }
     
        exit(0);
    }

  3. #3
    Membre confirmé

    Homme Profil pro
    Retraite
    Inscrit en
    octobre 2005
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite

    Informations forums :
    Inscription : octobre 2005
    Messages : 323
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par juliatheric Voir le message
    Salut,

    [/code]
    désolé de ne pas avoir répondu ... mais j'ai pris ce que tu as mis et j'ai appliqué c'était ce que je cherchais ... et je me suis acheté le livre Programmation Système en C sous Linux.......

    merci encore.....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/06/2010, 21h27

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