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

Re: Frage zu T-DSL (nun Zwangstrennung)



Peter Blancke <blancke@gmx.de> schrieb:

>> > * * * * * root test -e /var/run/ppp0.pid || /etc/init.d/ppp start >
>> >           /dev/null
>> 
>> Das hatte ich auch schon einmal benutzt, nur dummerweise hatte sich
>> der pppd mehrmals verabschiedet, ohne das die PID-Datei gekillt
>> wurde.
> 
> Warum wird dann die Prozessliste nicht einfach nach dem pppd
> durchsucht?
> 
> Sinngemaess:
> 
> * * * * * ps ax | grep [p]ppd || /etc/init.d/ppp start > /dev/null

Du müsstest eigentlich auf Prozess _und_ Pidfile testen, um völlig sicher
zu gehen. Der pppd hat die Eigenschaft, erst sein Pidfile zu schreiben,
wenn eine Verbindung steht. Suchst Du nur nach dem Pidfile und es ist
keines vorhanden, heißt das noch lange nicht, daß nicht doch bereits
schon ein pppd läuft. Andersherum bedeutet ein pppd in der Prozessliste
noch lange nicht, daß auch die Verbindung schon steht oder noch zustande
kommen wird.
Wenn Du nicht auf beides testest, ist im Grunde eine Racecondition
früher oder später praktisch vorprogrammiert.
 
>> Um sicher zu sein müßte man prüfen, ob hinter der dort abgelegten
>> PID noch ein pppd sitzt.
> 
> Eben. PIDs sind mir immer suspekt. Ich weiss doch gar nicht, ob
> hinter der PID immer noch der Prozess sitzt, der sie einst erzeugte.

Richtig. Aber nur auf den Prozess zu testen reicht halt auch nicht aus.

Gruß,

Marcus

-- 
                   Press every key to continue.
eMail: m@followup-to.de



Reply to: