On Sun, 25 Feb 2001, Pierre Maitre wrote:

> Ah! voilà! Maintenant je comprends pourquoi je ne trouvais pas de tâche
> kmod en faisant un "ps -ef |grep kmod"

Je suis allé vérifier (Use The Source, Luke), dans
linux-2.2.18/kernel/kmod.c

en bref: on utilise kernel_thread() pour créer une nouvelle tâche (un
processus), auquel on donne les attributs clonés du processus init
user-space (pas ceux du programme user-space qui a demandé ce module). 

En clair ce n'est même plus un daemon, mais une tâche similaire à init
instanciée à chaque modprobe et qui fait simplement un exec().

C'est d'ailleurs un exemple intéressant qui aurait pu m'être utile quand
j'ai conçu mfs (je l'ai fait à l'envers: un processus en user space qui
appelle et bloque sur ioctl()).

Faut pas hésiter à regarder dans la source, même si on a une connaissance
limitée du C ou du kernel Linux, c'est souvent très instructif.

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question.

Répondre à