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