2010-08-03 7 views
0

Je cherche un vrai monde scenerio où l'utilisation exec sera la seule option availble (Le problème ne pouvait être résolu si exec n'est pas utilisé)exemple Exec monde réel

Je sais ce qui est exec et comment il diffère à partir de la fourche, mais toujours intrested dans le problème du monde réel qui imposent l'utilisation de la commande exec.

+3

Mec, quelle langue, quel système d'exploitation, etc? Par «exec», voulez-vous dire PDG de British Petroleum? Posez des questions spécifiques si vous voulez des réponses utiles. –

+0

Chargement d'un autre binaire Unix à partir du processus actuel n'est pas * monde réel * assez? Pensez-vous que le shell Unix est une mauvaise idée? Quel est le contexte de votre question? –

+0

... est-ce à propos de la commande shell appelée exec ou de la famille d'appel système exec ('man 3 exec')? –

Répondre

6

Comment un shell peut-il démarrer un autre processus, sans en utilisant exec?

fork() (ou, mieux clone() de nos jours, sur Linux) dit juste pour dupliquer un processus. Alors vous avez 2 copies du même processus. (

execve() (et -le, -lp, -vp, -v friends) dit simplement de remplacer entièrement le processus en cours par un nouveau processus. (Garder les fd, mais pas beaucoup plus)

Donc, pour lancer un autre programme, vous devez d'abord fork() puis exec() dans l'un des processus résultants (qui est normalement le processus enfant).

+0

C'est vrai, il y a une sorte de synergie entre les deux syscalls. Ils sont généralement utilisés ensemble. – Ricardo

Questions connexes