linux-l: Frage: Koordinierung von Shell-Prozessen
Michael_Feldbinder at dara.de
Michael_Feldbinder at dara.de
Mo Sep 22 16:22:23 CEST 1997
Hi LXer!
Ich habe wieder eine kleine Frage: Wie kann ich Shell-Prozesse beim
konkurrierend Zugriff auf eine Datei koordinieren?
Vorgeschichte:
**************
In dieser Liste hatte ich eine tolle Antwort (13.08.97 - Re: linux-l: Frage
vom Typ "UX Grundlagen" ) von Hartmut gefunden mit dem Script "to_kill".
Weiter entwarf Hartmut (Zit.):
....
Dein Script müßte dann so aussehen:
to_kill tail -f -n4 /var/log/accounting/messages &
to_kill tail -f -n4 /users/httpd/squid/logs/access.log &
to_kill tail -f -n4 /usr/spool/mqueue/syslog &
to_kill tail -f -n2 /users/0128/tmp/gateway.log &
....
Das Problem (die Aufgabe ;-)
****************************
Damit haben wir aber das Problem, daß 4 Prozesse sich um die Datei "
$HOME/tmp/to_kill_liste" zanken. Also versuchte ich die üblichen Wege wie
bei der DB-programmierung mit Filelocking:
...
while [ -f $HOME/tmp/to_kill.lock ] ; do
echo wait for unlock to_kill proc
sleep 1
done
touch $HOME/tmp/to_kill.lock
echo echo $* >> $HOME/tmp/to_kill_liste
echo kill -9 $$ >> $HOME/tmp/to_kill_liste
rm $HOME/tmp/to_kill.lock
...
Wie man sieht ist natürlich eine zeitliche Lücke enthalten (Nach dem
Erkennen "kein Flag-File da" bis zum erzeugen dieser Datei) und eine
Sekunde warten für den nächsten Sperrversuch ist auch nicht sonderlich
elegant (sleep 0.1 hätte gereicht, oder?).
Mein Lösungsgedanke
*******************
Gemäß einem DB-Proggi würde ich am liebsten "$HOME/tmp/to_kill_liste" von
dem Bearbeitenden Prozeß für alle anderen Prozesse read only setzen lassen,
solange er da drin rumfummelt.
Meine Frage
***********
Nur wie geht das?
Motivation
**********
Es ist doch sicher auch in weiteren Situationen möglich, daß ein
Shell-Script mehrmals gestartet wird und die zankerei um Dateizugriff etc.
losgeht.
Umlaute
*******
Sorry Leute ich arbeite hier mit einem Lotus Notes Client. Der ist zum
Mailen sicher nicht das beste aber die Volltextsuche ist spitze! Na und
tranig wie ich gerade bin habe ich nicht an die Umlaute gedacht...
Gruß an alle und danke fürs lesen.
Micha
---
Michael K.H. Feldbinder
mail...: mailto://Michael_Feldbinder@dara.de
AX25...: DL2KDO @ DB0LJ * DOK: G03
600 Ohm: +49 228 447456
78-79 Simson S50 "Banane" 24 TKM, 79 MZ250 10TKM,
91-95 VT500C 22TKM, 96-xx XJ900S 18TKM
Mehr Informationen über die Mailingliste linux-l