Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2011, 04h47   #1
Membre du Club
 
Jean-Pierre Laroche
Inscription : octobre 2005
Messages : 41
Détails du profil
Informations personnelles :
Nom : Jean-Pierre Laroche
Âge : 60
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2005
Messages : 41
Points : 50
Points : 50
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
JPLAROCHE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 22h14   #2
Nouveau Membre du Club
 
Homme e. biherengende
Étudiant
Inscription : octobre 2008
Messages : 8
Détails du profil
Informations personnelles :
Nom : Homme e. biherengende
Localisation : Burundi

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : octobre 2008
Messages : 8
Points : 37
Points : 37
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 :
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
35
 
#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);
}
juliatheric est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h19.


 
 
 
 
Partenaires

Hébergement Web