LINUX.ORG.RU

Чтение файла из разных процессов

 ,


0

2

Добрый день.

Хочется читать из одного файла но разными процессами. Гугл говорит разное, где-то пишут, что можно, где-то что это специфично для ОС и файловой системы. Но не смог найти ни одного источника где бы исчерпывающе ответили на этот вопрос. Может кто ссылочкой поделится?

Деталей отсыпьте…

RTFM:

Стивенс Р., Раго С.
UNIX. Профессиональное программирование, 2е издание. – СПб.: Символ Плюс, 2007. – 1040 с., ил.
ISBN 5932860898

Главы 3-5 и про IPC почитать, если файл для чтения нужно синхронизировать между процессами.

necromant ★★
()
Ответ на: комментарий от andalevor

«на твоем линуксе» надо гооврить :)

имхо это надо изучать в опенсорс СУБД, там паралельным чтением/записью банчат сто лет в обед и давно уж все устаканили и допилили.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от andalevor

Тогда видимо важны нюансы. Если в файл никто не пишет, то открывайте и читайте сколько угодно.

Если в файл кто то пишет и хочется другим процессом видеть свеженаписанное при чтении - то после flush другой процесс это свеженаписанное рано или поздно узрит.

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от AntonI

Другой процесс и без flush увидит, и не «рано или поздно» а сразу (раньше чем оно запишется на диск).

Если ты конечно не имел ввиду работу stdio-обёрток и их fflush().

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от AntonI

Если в файл кто то пишет и хочется другим процессом видеть свеженаписанное при чтении - то после flush другой процесс это свеженаписанное рано или поздно узрит.

При желании я могу вообразить ситуацию, когда читающий сразу закешировал к себе весь файл, и никаких изменений уже не видит.

Хочется читать из одного файла но разными процессами.

А вот ситуацию, которая бы повредила только чтению, без записи, уже представить не могу.

COKPOWEHEU
()