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

Re: Wie kann ich 2 bash scripte miteinander syncronisieren



Michael Renner wrote:

> On Thursday 26 February 2009, Matthias Meyer wrote:
>> Hallo,
> 
> Moin,
> 
>> Ich habe zwei bash scripte parallel laufen die sich untereinander
>> syncronisieren müssen.
> 
> sollen sie Daten austauschen oder nur trigger?
> 
>> Bisher mache ich das indem der eine eine Datei anlegt und der andere alle
>> 10 Sekunden prüft ob die Datei angelegt worden ist.
>> Das gefällt mir vor allem deshalb nicht weil es mitunter eben 10 Sekunden
>> dauert bis der 2. script merkt das er weiterarbeiten soll.
> 
> Versuche es mal mit einer fifo-Datei
> 
> Shell No 1:
> 
> renner@mars:/tmp$ mknod scriptsync p
> renner@mars:/tmp$ cat scriptsync
> 
> 
> nun wartet der cat bis etwas in den fifo reingeschrieben wird bzw. mit
> CRLF angeschickt wird.
> 
> Shell No 2:
> 
> renner@mars:~$ echo LosLosLos > /tmp/scriptsync
> renner@mars:~$
> 
> und damit kommt der cat-Befehl aus Shell Nr 1 zurück. Also nochmal von
> vorn:
> 
> Shell No 1:
> renner@mars:/tmp$ cat scriptsync
> LosLosLos
> renner@mars:/tmp$
> 
> Keine Schleife mehr, keine Verzögerung!
> 
> CU
Nabend ;-)
Jo, das funkt. Auch mit read var < /tmp/scriptsync
Ich brauche aber auch einen Timeout. read -t 60 var < /tmp/scriptsync
ignoriert aber den timeout.
`sleep 20s; echo "TO" > /tmp/scriptsync`& würde zwar gehen, aber wenn der
andere script dann doch noch rein schreibt hängt er.

Danke
Matthias
-- 
Don't Panic


Reply to: