Solusi yang tidak memerlukan alat tambahan akan lebih disukai.
Jawaban yang Diterima:
Hampir seperti jawaban nsg:gunakan kunci direktori . Pembuatan direktori adalah atomik di bawah linux dan unix dan *BSD dan banyak OS lainnya.
if mkdir $LOCKDIR
then
# Do important, exclusive stuff
if rmdir $LOCKDIR
then
echo "Victory is mine"
else
echo "Could not remove lock dir" >&2
fi
else
# Handle error condition
...
fi
Anda dapat menempatkan PID penguncian sh ke dalam file di direktori kunci untuk tujuan debugging, tetapi jangan terjebak dalam pemikiran, Anda dapat memeriksa PID tersebut untuk melihat apakah proses penguncian masih berjalan. Banyak kondisi balapan terbentang di jalan itu.