[EMAIL PROTECTED] wrote:
> Salut!
>
> Je me pose la question suivante: un PID est donc un N. de process affecte a
> un programme par le noyau. Ca, c'est ok!!!
> ex:
> 300
> 312
> |
> |
> |
> 413
>
> Bref. Quand un programme est tremine, un signal kill le n. de process du
> prog.. donc le PID est a nouveau libre. et peut etre reutilise par un autre
> programme.
> Sur mon serveur Intranet, j'ai des process a 3 chiffres (xxx) et je passe
> directement a xxxxx (5 chiffres). ca a l'air de ralentir un peut. mais j'ai
> beau regarde le temps machine, il n'y a rein de flagrant.
> Quelqu'un a t'il une explication?
>
> Ps: Serveur sur Noyau 2.0.35
> Merci A+
> Franck
>
>
------------------------------------------------------------------------------
Salut,
Desole pour cette reponse (qui n'est en fait qu'un debut d'ebauche d'esquisse
...) un peu tardive, mais c'est parce que je viens de tomber sur des infos au
cours de mes lectures diverses et variees.
Voila ce que je sais sur les PID (dixit les docs):
Le PID est un entier gere par le noyau. Lors de la creation d'un nouveau
process, la fonction systeme va rechercher un nouveau PID pour ce process (sauf
si on utilise la fonction de clonage de process, pour les threads peut-etre
...). Pour cela, le noyau utilise une variable noyau last_pid qui contient le
dernier pid attribue. Le noyau incremente cette variable et teste si le pid
existe dans la table des tasks (l'ensemble des process). Il teste aussi si le
pid est un numero de session. Si le pid est deja utilise, last_pid est de
nouveau incremente, et on re-teste, jusqu'a avoir un pid qui n'existe nul part.
Puis le pid est affecte a ce nouveau process.
Voila c'est tout.
En esperant que cela t'eclairera un peu,
@+,
Frederic Combeau.