bonjour,
juste une question sur la fonction createProcess(). A quelle fonction est-elle semblable sous linux ? fork() ? execl() ? ... ceci afin de savoir ce qu'elle fait exactement.
merci
bonjour,
juste une question sur la fonction createProcess(). A quelle fonction est-elle semblable sous linux ? fork() ? execl() ? ... ceci afin de savoir ce qu'elle fait exactement.
merci
CreateProcess() équivaudrait à fork()+exec() en une seule étape.
Naturellement, comme le système est différent, c'est plus complexe:
- La fonction permet de passer des paramètres supplémentaires, comme la position par défaut de la fenêtre, la taille de la console, ou la redirection des flux standard (stdin, stdout, etc.)
- La fonction permet de dupliquer ou non tous les handles héritables ouverts (plus ou moins l'équivalent des descripteurs "préservés lors d'un exec") pour le nouveau processus.
- La fonction retourne, dans la structure PROCESS_INFORMATION, un handle sur le processus et un autre sur son premier thread. Cela n'a pas d'équivalent sous nux, où les processus ne peuvent pas être "ouverts" et où les fonctions s'appliquent directement sur leur ID.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager