2013-10-02 5 views
0

Как вы обнаружите, могут ли два (в моем случае java) процессы получить доступ, по крайней мере, к одной общей файловой системе? (возможно, включая сетевые файловые системы).Как узнать, имеют ли 2 процесса доступ к общей файловой системе

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

Возможно использование в некотором роде временных каталогов.

+0

Нужно ли им сообщать друг другу, что они могут получить доступ к файловой системе? –

+0

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

+0

Могут ли процессы говорить друг с другом каким-то образом? – Joni

ответ

1

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

Использование диска и управление двумя транспортными средствами просто вводят сложность без причины.

+0

Если данные находятся в одной файловой системе, я не собираюсь ее реплицировать, потому что нужен только доступ для чтения. Мне бы хотелось, чтобы process1 сказал: «Эй, файл готово в /tmp/foo.bar "и process2" ok, я прочитаю его с диска, если мы разделим один и тот же диск ". (предположим, что файлы больших 100 ГБ или около того) – Qualsiasi