Как узнать, имеют ли 2 процесса доступ к общей файловой системе

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

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

Возможно, каким-то образом используя временные каталоги.


person Qualsiasi    schedule 02.10.2013    source источник
comment
Нужно ли им сообщать друг другу, что они могут получить доступ к файловой системе?   -  person Sotirios Delimanolis    schedule 02.10.2013
comment
Им необходимо однозначно идентифицировать файловую систему, чтобы они знали, могут ли они передавать файлы через файловую систему или они должны отправлять файлы по сети.   -  person Qualsiasi    schedule 02.10.2013
comment
Могут ли процессы уже каким-то образом общаться друг с другом?   -  person Joni    schedule 02.10.2013
comment
Да, они общаются (в моем случае посредством обмена сообщениями JMS)   -  person Qualsiasi    schedule 03.10.2013


Ответы (1)


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

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

person Jim Garrison    schedule 02.10.2013
comment
Если данные находятся в той же файловой системе, я не собираюсь их копировать, потому что нужен только доступ для чтения. прочитать его с диска, если мы пользуемся одним и тем же диском. (предположим, файлы большие 100 Гб или около того) - person Qualsiasi; 03.10.2013