|
Page : 1 2 Page Précédente | |
Auteur | Sujet : system et exec ? |
Publicité | Posté le 26-04-2007 à 17:05:33 |
matafan | Pas du tout. La différence c'est qu'avec exec justement, il n'y a pas de père : le qui appelle exec() process est tout simplement remplacé par ce qui est exec()uté. Alors qu'avec system() au contraire, un process fils créé (avec un fork sous unix/linux), et c'est le fils qui fait ensuite un exec() (au sens C) de ce que tu passes à system().
Message édité par matafan le 26-04-2007 à 17:12:55 |
donny3 | en gros si je veux que lorsque je lance le fils et que le fils continu a tourner alors que le pere a planter,
|
Elmoricq Modérateur | Non. Dans les deux cas, le fils meurt. Sauf qu'avec exec, le père ne peut plus planter parce qu'il est remplacé par fiston. Après on sort du cadre de PERL pour entrer dans les spécificités de l'OS. Sur un unixoïde, lancer la commande précédée de "nohup" (ex : "nohup macommande &" ) permet de désolidariser le fiston du papa. Message édité par Elmoricq le 26-04-2007 à 17:23:32 |
donny3 | ok
|
donny3 | je pensai à quelquechose dans ce genre la
|
Elmoricq Modérateur |
donny3 | et ton script se presente comment ? |
Elmoricq Modérateur | Même ligne de commande que toi, avec nohup. Le processus fils est bien rattaché au processus 1 (initd), et non au père, qui peut donc crever sans que le fils n'en soit affecté. Par contre, le processus fils n'étant plus non plus rattaché au terminal, il n'y a plus d'entrée/sortie dessus. Message édité par Elmoricq le 27-04-2007 à 11:36:17 |
Publicité | Posté le 27-04-2007 à 11:36:05 |
donny3 | je viens test en ouvrant deux shell
|
Elmoricq Modérateur |
|
donny3 | je viens tester ton cas,il ressemble au miens
|
Elmoricq Modérateur | Aucune différence. |
donny3 | teste et tu verras,je l'ai fait et sa fonctionne pas |
matafan | Aucune différence. T'es sur que quand t'as testé, le process fils n'a pas tout simplement terminé après 1 minute ? |
donny3 | je suis sur, parceque le process fils appel un progamme et qu'il ne se termine que lorsque se programme est fini; |
Elmoricq Modérateur | Peux-tu montrer le bout de code incriminé ?
|
donny3 | deja je viens de me rendre compte |
donny3 | quand je lance avec nohup
|
anapajari s/travail/glanding on hfr/gs; | nan mais surtout montre pas ton code, avec Madame Soleilmoricq et Irmafatan on va se servir de nos pouvoirs téléperliques pour t'aider ... |
Pablo Escrobarbe Retour d'exil | je parie que son code commence par #!/usr/bin/perl
|
Elmoricq Modérateur |
|
donny3 | mon code commence par ça
|
anapajari s/travail/glanding on hfr/gs; |
|
donny3 | mon code voila
|
donny3 | j'ai réessayer avec ton exemple elmoricq
|
donny3 | c'est possible d utiliser un fork ? |
Elmoricq Modérateur | Lis la documentation : system() fait déjà un fork().
|
donny3 | il fait un fork bizarre alors
|
Elmoricq Modérateur |
|
Taz bisounours-codeur | nohup ? tu ne peux pas forker comme tout le monde et faire tout ça probablement ? |
donny3 | pardon TAz ?
|
anapajari s/travail/glanding on hfr/gs; |
donny3 | en y reflechissant bien ,
|
Taz bisounours-codeur | et y a des tas de bouts de code pour perl qui trainent qui font du deamon/daemonize
|
donny3 |
anapajari s/travail/glanding on hfr/gs; | ce topic est collector ... |
Elmoricq Modérateur |
|
Taz bisounours-codeur | si t'en es à faire des system nohup en perl, bah passe à bash |
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
Probleme avec la fonction system() | commande exec |
variable dans system() | system.exit(0) quand l'utiliser? |
exec + variable php | fork(), wait(), exec() et autres sous Win? |
Executer commande externe (exec, system) | [php] - commande system et exec |
[php] au secours!!! (exec, system et autres!!) | Fonctions exec(), system(), passthru() ? Help !! |
Plus de sujets relatifs à : system et exec ? |