J'ai un serveur chez OVH (Linux Red Hat 7.2), et apache lancé et activé dessus.
Tout ça fonctionne très bien.
J'ai fait un petit :
et je me suis apperçu qu'il y avait plusieurs port 80 (http) en écoute (LISTEN). En fait, il y a 10 processus http avec l'utilisateur nobody qui écoutent sur ce même port, et un avec l'utilisateur root.
Je voulais savoir comment il est possible que des processus différents écoutent sur un seul et même port. Dh'abitude, quand j'essaye de faire ça en programmant avec les socket BSD, on me refuse de faire un bind car le port est déjà en écoute.
D'autre part, comment l'utilisateur nobody peut-il se mettre en écoute sur le port 80 étant donné que celui-ci est dans la plage des ports admin (0-1023 je crois).
Pourquoi apache a-t-il besoin de lancer 10 processus concurrents?
Quand un utilisateur se connecte au site, quel est le processus qui prend le accept.
J'ai essayé de killer les processus http de nobody, mais ceux-ci se relancent automatiquement. Je pense donc qu'il sont controllés par le processus http de l'utilisateur root. Cependant, il ne semble pas y avoir de fork() car les processus de nobody ne sont pas des fils du processus de root.
Est-ce tout simplement la commande lsof qui se trompe et me répond des choses que j'ai mal interprétées?
Bref, je cherche à avoir des infos supplémentaires là dessus.
Je remarque que sous MacOS X (10.3.6), c'est la même chose sauf que seulement 4 processus de l'utilisateur http sont lancé en plus du root.
Tout ça fonctionne très bien.
J'ai fait un petit :
Bloc de code:
lsof -i tcp
et je me suis apperçu qu'il y avait plusieurs port 80 (http) en écoute (LISTEN). En fait, il y a 10 processus http avec l'utilisateur nobody qui écoutent sur ce même port, et un avec l'utilisateur root.
Je voulais savoir comment il est possible que des processus différents écoutent sur un seul et même port. Dh'abitude, quand j'essaye de faire ça en programmant avec les socket BSD, on me refuse de faire un bind car le port est déjà en écoute.
D'autre part, comment l'utilisateur nobody peut-il se mettre en écoute sur le port 80 étant donné que celui-ci est dans la plage des ports admin (0-1023 je crois).
Pourquoi apache a-t-il besoin de lancer 10 processus concurrents?
Quand un utilisateur se connecte au site, quel est le processus qui prend le accept.
J'ai essayé de killer les processus http de nobody, mais ceux-ci se relancent automatiquement. Je pense donc qu'il sont controllés par le processus http de l'utilisateur root. Cependant, il ne semble pas y avoir de fork() car les processus de nobody ne sont pas des fils du processus de root.
Est-ce tout simplement la commande lsof qui se trompe et me répond des choses que j'ai mal interprétées?
Bref, je cherche à avoir des infos supplémentaires là dessus.
Je remarque que sous MacOS X (10.3.6), c'est la même chose sauf que seulement 4 processus de l'utilisateur http sont lancé en plus du root.