Hallo Matthias, * Matthias Kleine schrieb am 29.Mai.2000:
OK, kein Prompt mehr, sleep ist im Vordergrund. Jetzt soll es wieder in den Hintergrund:
C-Z [1]+ Stopped sleep 1000 matthias@orka:~ > bg %1 [1]+ sleep 1000 &
Scheint alles OK, aber:
matthias@orka:~ > jobs [1]+ Done sleep 1000 matthias@orka:~ >
Der Job wurde statt in den Hintergrund geschickt beendet. Freilich, bevor die 1000 Sekunden um waren.
Du hast Recht. Es ist ein Bug, aber frag mich wo. Das ^Z schickt ein Signal 20 = SIGTSTP an den Prozeß. Dadurch wird dieser Prozeß angehalten. (Prozeßstatus=T Halt) Wenn Du nun ein bg machst, so erhält der Prozeß ein Signal 18 = SIGCONT und es geht weiter. Du erhälst das gleiche Verhalten, wenn Du es per kill von Hand eingibst. Auch wenn Du anstelle von kill -20 Signal 19 = SIGSTOP eingibst, ändert sich nichts. Signal 19 ist im Gegensatz zu Signal 20, daß von ^Z abgegeben wird nicht abfangbar. Das Problem ist aber auch nicht Signal 20, sondern Signal 18 mit dem es weiter geht. Wird aber nur Signal 18 auf den Prozeß gegeben, ohne das er angehalten wurde, passiert nichts. Eigenartig. So, ich habe es mal getestet. Scheint ein Problem von sleep zu sein. Ich habe ein kleines Shellskript mit Endlosschleife geschrieben. Da verhält sich alles so, wie es sein soll. Bei einem kleinen C-Programm, daß sleep(3) verwendet, habe ich aber genau das gleiche Problem. strace zeigt übrigens kein Signal an, ganz anders, wenn ich den Prozeß mit ^C abbreche.
Kann mir das jemand erklären? Wie kann ich den Job aus dem Vordergrund in den Hintergrund schicken, wenn es mit C-Z und bg %Jobnummer nicht klappt?
Du hast schon alles richtig gemacht, aber es ist ein Bug in sleep(3). Bernd -- Bitte die Etikette von Christian beachten: http://www.ndh.net/home/schult/ Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com