Cuplikan penguncian "standar" yang saya lihat berjalan seperti ...
(
flock -n 200 || exit 1;
# do stuff
) 200>program.lock
Apakah aman (pengujian tampaknya mengatakan demikian) untuk digunakan exec
pada saat itu? Apakah subproses akan mempertahankan kunci?
(
flock -n 200 || exit 1;
exec /usr/bin/python vendors-notcoolstuff.py
) 200>program.lock
Saya samar-samar ingat proses exec'd mempertahankan deskriptor file terbuka dan karena kawanan menggunakan deskriptor file itu harus berfungsi. Tetapi saya tidak dapat menemukan dokumentasi yang membuatnya jelas dan jelas.
Sebagai catatan, ini khusus untuk Linux.