Синхронизация общего файла (чтение / запись)

Я написал в коде PHP, что он "откроет" файл (давайте назовем его TXT) и напишу там выбранный флажок, а затем другой процесс (давайте назовем его PROC1-в коде c) должен будет прочитать файл (TXT).

Мне нужно синхронизировать его, я имею в виду, чтобы заблокировать процесс (PROC1) от чтения, в то время как PHP записывает в общий ресурс (TXT).

fopen позаботится об этом? Я думаю, что разница между ним и методом open ()

или, возможно, использовать pipe (), но, как я видел, он запускает только команды и не открывает файл..

Еще раз спасибо заранее

1 ответ

Нет, fopen не заботится об этом. Вы можете использовать flock для синхронизации доступа к файлу.

Обратите внимание, что все процессы должны будут использовать flock () для файла перед его использованием, это зависит от платформы, но flock () обычно является консультативной блокировкой, то есть любой может просто обойти блокировку, если он этого пожелает (например, если он забудет вызвать flock) ())

Другие вопросы по тегам