SIGSTOP wirkungslos

16/03/2008 - 10:56 von Markus Wichmann | Report spam
Hi all,
ich habe hier gerade ein kurioses Problem: Ich kann Programme mit
Soundausgabe nicht mehr mit SIGSTOP pausieren. Und das seit letztem
Mittwoch (Mittwoch ist bei mir Patchday). Nun weis ich leider
nicht, welche Pakete alles aktualisiert wurden (wie kann man das
bei Debian Lenny nachsehen?) Bis letzten Mittwoch lief noch alles
wie es sollte: Mit "killall -STOP timidity ogg123" war Ruhe. Mit
einem -CONT ging es dann weiter. Aber jetzt sieht es so aus:

#v+
,[zsh]
|10:31:24
|markus:~ 0> ps -p 13198
| PPID PID STAT COMMAND
|12947 13198 SNLl+ ogg123 -q ogg/Glücklich/Am Strand.ogg
|10:31:31
|markus:~ 0> kill -STOP 13198
|10:31:46
|markus:~ 0> ps -p 13198
| PPID PID STAT COMMAND
|12947 13198 SNLl+ ogg123 -q ogg/Glücklich/Am Strand.ogg
`--
#v-

Also, wenn so ein Prozess ein SIGSTOP abkriegt, wird der einfach
ignoriert. Nun weis ich nicht, was die Flags l und + bedeuten,
aber eigentlich sehen die Flags ja ganz normal aus: Ein niedrig
prioritisierter, schlafender Prozess (weil bloß ein Prozessor
vorhanden) mit gesperrten Speicherseiten. Das muss so sein, weil
über diese Speicherseiten ja der Ton ausgegeben wird. Aber wie kann
der Prozess ein SIGSTOP ignorieren? Laut "man 7 signal" ist dieses
Signal weder zu ignorieren noch abzufangen.

Gut, dachte ich mir, wenn das nicht geht, geht vielleicht eins der
drei anderen Signale mit einschlàfernder Wirkung, aber nein, die
Signale TSTP, TTIN und TTOU hatten genauso viel Erfolg wie
SIGSTOP.

Dabei funktioniert das Signal auf andere Prozesse ganz gut: Die
Prozessflags enthalten danach ein T.

Der Vollstàndigkeit halber, weil ich nicht weiß, was hier schief
geht noch ein paar Versionsnummern:

#v+
,[zsh]
|10:54:08
|markus:~ 0> dpkg -l | egrep '(procps|vorbis-tools|timidity)' | tr -s ' ' ' ' | cut -d ' ' -f 1-3 | column -s ' ' -t
|ii procps 1:3.2.7-6
|ii timidity 2.13.2-19
|ii timidity-interfaces-extra 2.13.2-19
|ii vorbis-tools 1.1.1-15
`--
#v-

TIA,
Markus
Progress (n.): process through which USENET evolved from smart people in front
of dumb terminals to dumb people in front of smart terminals.
 

Lesen sie die antworten

#1 Oliver B. Warzecha
16/03/2008 - 14:59 | Warnen spam
Markus Wichmann wrote:
ich habe hier gerade ein kurioses Problem: Ich kann Programme mit
Soundausgabe nicht mehr mit SIGSTOP pausieren. Und das seit letztem
Mittwoch (Mittwoch ist bei mir Patchday). Nun weis ich leider
nicht, welche Pakete alles aktualisiert wurden (wie kann man das
bei Debian Lenny nachsehen?) Bis letzten Mittwoch lief noch alles
wie es sollte: Mit "killall -STOP timidity ogg123" war Ruhe. Mit
einem -CONT ging es dann weiter. Aber jetzt sieht es so aus:



Faszinierend. Das ist eigentlich nicht möglich. Hast Du den
Kernel geupdatet?

Also, wenn so ein Prozess ein SIGSTOP abkriegt, wird der einfach
ignoriert. Nun weis ich nicht, was die Flags l und + bedeuten,



Zitat (von dir auch richtig erkannt):
It is not possible to block SIGKILL or SIGSTOP (by specifying them in
sa_mask). Attempts to do so are silently ignored.

Dabei funktioniert das Signal auf andere Prozesse ganz gut: Die
Prozessflags enthalten danach ein T.



Auf rootkit gecheckt?

OBW

Ähnliche fragen