Đoạn mã khóa "tiêu chuẩn" mà tôi đã thấy giống như ...
(
flock -n 200 || exit 1;
# do stuff
) 200>program.lock
Có an toàn không (thử nghiệm dường như nói như vậy) để sử dụng exec
tại thời điểm đó? Liệu quy trình con có giữ được khóa không?
(
flock -n 200 || exit 1;
exec /usr/bin/python vendors-notcoolstuff.py
) 200>program.lock
Tôi mơ hồ nhớ các quy trình thực thi giữ lại các mô tả tệp đang mở và vì đàn sử dụng các mô tả tệp nên nó sẽ hoạt động. Nhưng tôi không thể tìm thấy bất kỳ tài liệu nào làm cho nó rõ ràng và rõ ràng.
Đối với hồ sơ, điều này là cụ thể cho Linux.