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