Discussion:
Programowanie równoległe w shellu??????
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
H5N1
2006-11-22 17:13:34 UTC
Permalink
Można by tak:

if [ -e lock ]
echo $$ > lock
# sekcja krytyczna
rm lock
fi

Z tym że to nie do końca zadziała - inny proces może się wpieprzyć
między dwie pierwsze instrukcje i mamy dwa procesy w sekcji.
Przydało by się jakieś pojedyńcze polecenie które spróbuje założyć plik
to, a jeśli takowy istnieje to zwróci false. Jakieś pomysły?
Jakub Wartak
2006-11-22 18:09:46 UTC
Permalink
Post by H5N1
if [ -e lock ]
echo $$ > lock
# sekcja krytyczna
rm lock
fi
Z tym że to nie do końca zadziała - inny proces może się wpieprzyć
między dwie pierwsze instrukcje i mamy dwa procesy w sekcji.
Przydało by się jakieś pojedyńcze polecenie które spróbuje założyć plik
to, a jeśli takowy istnieje to zwróci false. Jakieś pomysły?
xeno:~# dpkg -S `type -p lockfile`
procmail: /usr/bin/lockfile

czyli man lockfile.
--
Jakub Wartak
http://vnull.pcnet.com.pl/
Ponure Zacietrzewienie
2006-11-22 19:57:20 UTC
Permalink
Post by H5N1
if [ -e lock ]
echo $$ > lock
# sekcja krytyczna
rm lock
fi
Z tym że to nie do końca zadziała - inny proces może się wpieprzyć
między dwie pierwsze instrukcje i mamy dwa procesy w sekcji.
Przydało by się jakieś pojedyńcze polecenie które spróbuje założyć plik
to, a jeśli takowy istnieje to zwróci false. Jakieś pomysły?
man 1 lockf, man lockfile
--
If you cut off my head, what would I say? Me and my head, or me and my body?
Loading...