[Berlin-wireless] S70freifunkmap
Stefan Sperling
stsp
Di Jun 12 14:12:56 CEST 2007
On Tue, Jun 12, 2007 at 03:29:57AM +0200, Marco Tidow wrote:
> hab diese stelle so gefixt, ja nicht 100% wasserdicht, streng genommen.
Aber schonmal besser :)
> update () {
> # only one instance should be running at time
> # if exists an other one kill them and all wgets
> pid="$(cat /tmp/freifunkmap.pid 2>/dev/null)"
> if [ ! -z $pid ]; then
> kill $pid >/dev/null 2> /dev/null
> fi
Das ist für WRTs OK, aber nicht besonders portabel.
Der code killt keine falschen Prozesse solange PIDs immer
aufsteigend sind. Das ist bei Linux der Fall.
Da dieses script aber in ziemlich ähnlicher Form auch für andere
Systeme verwendet werden sollte (laut Autor) gibt es noch das Problem
das PIDs evtl. randomisiert sind (z.B. unter OpenBSD der Fall).
Dann wird im schlimmsten Fall irgendein zufälliger Prozess
abgeschossen...
> # get rid of wget-s hanging arround
> for f in /proc/*/cmdline; do
> if grep -sq '^wget .*/mygooglemapscoords.txt' "$f"; then
> WGET_PID="${f#/proc/}"; WGET_PID="${WGET_PID%%/*}"
> kill "${WGET_PID}" 2>/dev/null
> fi
> done
>
> [...]
Warum muss man denn die wgets eigentlich killen?
Das schlimmste was passieren kann ist doch das auf layereight.de
ein paar http verbindungen rumidlen, oder? Wen stört das?
> locking finde ich hier bi?chen ?bertrieben
Locking wäre halt der "korrekteste" Weg.
In der Praxis reicht es aber auch völlig ohne locking zu fahren und
das script nur täglich statt stündlich oder minütlich auszuführen.
Das ist auch portabel und für die Praxis "korrekt" genug :)
--
stefan
http://stsp.name PGP Key: 0xF59D25F0
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 187 bytes
Beschreibung: nicht verfügbar
URL : <http://lists.berlin.freifunk.net/pipermail/berlin/attachments/20070612/ea9c781c/attachment.pgp>
Mehr Informationen über die Mailingliste Berlin