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: