Linuxサーバーでは、BASHとPHPで記述された複数のスクリプトを同期する必要があります。これにより、システムクリティカルなジョブ(一連のBASH / PHPコマンド)を開始できるのはそのうちの1つだけになり、 2つ以上のスクリプトによって同時に実行されます。C ++でのマルチスレッドの経験から、ミューテックスの概念に精通していますが、別々のプロセスで実行され、もちろんC ++で記述されていない一連のスクリプトにミューテックスを実装するにはどうすればよいですか?
頭に浮かぶ最初の解決策は、各スクリプトが最初に「ロックフラグ」ファイルを作成して、ジョブが「ロック」されていることを他のスクリプトに通知し、ジョブの完了後にファイルを削除することです。しかし、私が見ているように、このアプローチを100%の確率で機能させるには、ファイルの書き込みと読み取りの操作が完全にアトミックである必要があり、同じ要件が他の同期方法にも当てはまります。そして、ファイルの書き込み/読み取り操作はアトミックではなく、少なくとも既存のすべてのLinux/Unixシステムではアトミックではないと確信しています。
では、BASHスクリプトとPHPスクリプトを同時に同期するための最も柔軟で信頼性の高い方法は何でしょうか。