Kernel: το kill δεν πιάνει, τί σημαίνει αυτο

Giorgos Keramidas keramida at ceid.upatras.gr
Sat Nov 30 02:05:02 EET 2002


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".

- Γιώργος




More information about the Linux-greek-users mailing list