Cách đơn giản nhất để đảm bảo chỉ một bản sao tập lệnh của bạn đang chạy là sử dụng flock()
để có được một khóa tệp. Ví dụ:
Vì vậy, về cơ bản, bạn sẽ có một tệp giả được thiết lập nơi tập lệnh của bạn, khi bắt đầu, cố gắng lấy khóa. Nếu nó thành công, nó sẽ chạy. Nếu không, nó sẽ thoát ra. Bằng cách đó, mỗi lần chỉ có thể chạy một bản sao tập lệnh của bạn.
Lưu ý: flock()
cái được gọi là tư vấn phương pháp khóa, có nghĩa là nó chỉ hoạt động nếu bạn sử dụng nó. Vì vậy, điều này sẽ ngăn tập lệnh của chính bạn chạy nhiều lần nhưng sẽ không ảnh hưởng gì đến bất kỳ tập lệnh nào khác, điều này có vẻ ổn trong trường hợp của bạn.