Kernel: το kill δεν πιάνει αυτο

P. Christeas p_christ at hol.gr
Sat Nov 30 02:39:01 EET 2002


Στις Σαβ 30 Νοε 2002 1:45 πμ, ο/η Giorgos Keramidas έγραψε:
> On 2002-11-30 00:41, "P. Christeas" <p_christ at hol.gr> wrote:
> > Συνάντησα πρόσφατα το εξής πρόβλημα με τον kernel μου (2.5.47):
> >
> > έχω μία δική μου εφαρμογή στο userland. Η εφαρμογή αυτή ακούει ένα
> > TCP port.  Μέσα στον κώδικά της έχει και signal handling για τα
> > SIGINT, SIGHUP και SIGTERM.  Μου έχει συμβεί αρκετές φορές να
> > σταματήσει να αποκρίνεται η εφαρμογή, αφού της στείλω το SIGTERM.
>
> Περνάει σε μια κατάσταση στην οποία δεν μπορεί να δεχτεί άλλα signals.
> Μάλλον περιμένει κάτι να τελειώσει.  Στο FreeBSD υπάρχει η παράμετρος
> -l στο ps(1) που τυπώνει τη στήλη wchan.  Το GNU ps(1) δέχεται και BSD
> options, οπότε για δοκίμασε το:
>
> charon at labs[01:43]/users/charon$ ps -l
>   F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD
> 100 S   105 22456 22408  0  75   0    -   605 wait4  pts/0    00:00:00 bash
> 000 R   105 22493 22456  0  79   0    -   794 -      pts/0    00:00:00 ps
>
> Πες μας τι βλέπεις στη στήλη WCHAN για τα κολλημένα processes.
>
> > Μήπως αυτό είναι ένα bug του kernel; Να ενοχλησω την lkml;
>
> Ίσως.  Πριν το κάνεις όμως, κάτσε να το ψάξουμε λίγο για να μην σου
> επιτεθεί κανένας οργισμένος kernel hacker με αναμαλλιασμένο κεφάλι και
> κόκκινα μάτια ουρλιάζοντας "RTFS".
>

Θα το δώ (όταν ξανακολλήσει το πρόγραμμα).
Πάντως είναι ανώμαλο να μην δέχεται κάποιο process (και μάλιστα σε userland) 
το SIGQUIT για πάνω από 1 λεπτό..





More information about the Linux-greek-users mailing list