Quelle est la différence entre l'utilisation de _exit() & exit() dans une classique de Linux fourche-exec?

J'ai été à essayer de comprendre comment la fourche-exec mécanisme est utilisé à l'intérieur de Linux. Tout se passait selon le plan jusqu'à ce que certaines pages web commencé à me confondre.

Il est dit qu'un processus enfant doit utiliser rigoureusement _exit() au lieu d'un simple exit() ou une rémunération normale de main().

Que je sais, shell Linux fourche-execs de chacune des commandes externes; en supposant que ce que j'ai dit ci-dessus est vraie, la conclusion est qu'aucune de ces commandes externes, ni aucun autre d'exécution passe à l'intérieur de la shell Linux peut faire de retour!

Wikipedia & certains autres pages web que nous avons eu à utiliser _exit() juste pour empêcher un enfant de processus provoquant la suppression des parents des fichiers temporaires pendant une probable double rinçage de stdio tampons peuvent se produire. si je comprends l'ancien, je n'ai pas d'indices de la façon dont un double rinçage de tampons pourraient être nocifs, pour un système Linux.

J'ai passé toute ma journée sur ce...
Merci pour tout éclaircissement.

InformationsquelleAutor ned1986zha | 2011-03-24