[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cron wartet nicht auf ausgeführte Befehle



Hallo Werner,

ich hab's ;-) -- glaube ich.

Uwe Kerstan hatte bedingt Recht. ``script'' arbeitet schon, auch wenn's
nicht interaktiv ist (er hatte den Verdacht, daß es nicht arbeitet) --
aber es arbeitet - sagen wir "anders", wenn es keinen Input hat...

Ich habe mir gerade die Quellen von ``script'' angesehen. Da wird ein
Kind ``fork(2)''ed. Das Kind kümmert sich um das Kommando, welches
auszuführen ist, der Vater liest von STDIN und sendet diese Daten zum
Kind. Wenn keine Daten von STDIN mehr kommen, ist er fertig. Und es
interessiert ihn an dieser Stelle nicht, ob das Kind auch schon fertig
ist.

Als Cronjob hast Du kein STDIN, also kann der Vater nichts lesen und ist
sofort fertig, das Kind mit dem LFTP läuft aber weiter, der Shellscript
macht nach ``script'' sofort weiter, im Hintergrund immer noch LFTP ...
ja, und das Resultat ist bekannt.

Man kann das sehr schön probieren:

    script -c 'sleep 2; echo HALLO' 
vs.
    script -c 'sleep 2; echo HALLO' </dev/null

Ein Ausweg wäre eventuell (wenn's unbedingt ``script'' sein soll):

    script -c 'sleep 2; echo HALLO' </dev/zero


    Viele Grüße aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann HS12-RIPE -----------------------------------------
 gnupg encrypted messages are welcome - key ID: 48D0359B ---------------
 gnupg fingerprint: 3061 CFBF 2D88 F034 E8D2  7E92 EE4E AC98 48D0 359B -

Attachment: signature.asc
Description: Digital signature


Reply to: