LINUX.ORG.RU

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

 ,


0

2

Добрый день.

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

Вопросы уровня #ЛОР.

По теме: можно.

anonymous
()

А в чем проблема? Открыли и читаете.

Чего Вы опасаетесь? Вы хотите поговорить об этом?;-)

AntonI ★★★★★
()

где-то пишут, что можно, где-то что это специфично для ОС и файловой системы

Да

goingUp ★★★★★
()

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

RTFM:

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

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

necromant ★★
()

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

Всё есть файл (ну почти). В том числе stdin.

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

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

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

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

Открывай и читай, вообще не вопрос

no-dashi-v2 ★★★★
()
Ответ на: комментарий от andalevor

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

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

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

где-то что это специфично для ОС и файловой системы

ссылку где это прочитано показывай

anonymous
()
Ответ на: комментарий от AntonI

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

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

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

Пока буфер не сброшен не увидит вроде бы? Тот буфер который в fstream вроде как к процессу относится и не шарится?

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

Да, я поэтому и уточнил про обёртки. Но они - не нативный ввод-вывод, а библиотека.

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

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

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

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

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

COKPOWEHEU
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.