[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Pure-ftpd recalcitrant



Le jeudi 2 octobre 2008, vous avez écrit :
> > Que donne un pstree ? Quel est le père de ces processus ? S'il
> > s'agit de pureftpd je suppose que celui-ci oublie de faire des wait
> > et le tuer puis le relancer devrait suffire. Si init ou ton shell
> > est le père de ces processus alors c'est étrange.
>
> J'avais bien sur arreté le demon pureftpd principal mais celui-ci
> n'est pas détaché des fils créé à chaque connexion. Donc lui etait
> correctement stopé.

Du coup les fils étaient rattaché à quel père en définitive ?

>
> Je viens de réussir a les faire disparaitre mais c'est étrange, en
> fait mon user avait fait un lien vers un répertoire monté sur un
> autre ftp avec curlftpd et il avait tout cassé.

mmmh pureftp n'est pas censé s'exécuter dans un chroot ? Enfin je veux 
dire normalement il ne peut pas servir un fichier en dehors des 
répertoires qu'il gère et donc ce lien n'aurait pas dû poser problème 
(juste être inaccessible). Peut-être un bug à signaler.

> En gros c'est fuse qui empechait mes process de s'arreter.

C'est étrange, le programme devrait pouvoir être arrêté quelque soient 
les modules dont il a besoin en définitive. Je ne connais pas bien 
l'architecture de fuse mais la partie noyau n'est clairement pas 
concernée et la partie userspace s'exécute forcément pour le compte 
d'un processus. De deux choses l'une ou bien il s'exécute pour un 
processus tiers auquel cas il n'entre pas en compte, ou bien il 
s'exécute pour le processus pureftp et il peut être tué avec un kill -9 
(un programme ne peut intercepter un kill -9. Un kill-9 est géré par le 
noyau et aucun programme ne peut s'y soustraire).

Par contre ce qui est fort possible c'est que ton kill -9 ait tué 
correctement les processus fils comme prévu mais que init ait mis un 
certains temps avant de faire le wait qui libère les processus zombie.

>
> Par contre, le kill -9 ne faisait rien.... fuse avait la priorité
> parce que c'est un module ?

Le kill -9 a marché vu que tes processus sont devenus zombies. Un 
processus zombie c'est un processus qui n'existe plus mais dont on 
conserve l'état de terminaison pour que son parent le récupère. Pour 
qu'un processus disparaisse complètement il faut que le père récupère 
cet état et libère ainsi l'espace où est stocké l'état de terminaison.

>
> Merci quand même.

De rien pour le coup :)

Cordialement,

Thomas Preud'homme

-- 
Why Debian : http://www.debian.org/intro/why_debian

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: