2013-10-02 5 views
0

두 개의 (내 경우 java) 프로세스가 적어도 하나의 파일 시스템에 공통으로 액세스 할 수있는 경우 어떻게 감지합니까? (네트워크 공유 파일 시스템 포함).2 개의 프로세스가 공통 파일 시스템에 액세스 할 수 있는지 확인하는 방법

디스크를 공유하는 두 대의 컴퓨터, 별도의 컴퓨터 또는 동일한 컴퓨터의 두 프로세스 일 수 있다고 가정합니다. 내 프로세스를 일반 사용자 권한으로 유지하고 모든 파일 시스템의 루트에이 파일을 기록 할 수 없다고 가정합시다.

어쩌면 임시 디렉토리를 사용하는 것이 좋습니다.

+0

그들은 파일 시스템에 액세스 할 수 있다고 서로 말해야합니까? –

+0

파일 시스템을 고유하게 식별하여 파일 시스템을 통해 파일을 전달할 수 있는지 또는 네트워크를 통해 파일을 전송해야 하는지를 알아야합니다. – Qualsiasi

+0

프로세스가 이미 어떤 식 으로든 서로 대화 할 수 있습니까? – Joni

답변

1

하지 마십시오. 별도의 컴퓨터에 파일 시스템을 통해 데이터를 전달하는 경우 간단한 소켓 연결보다 훨씬 느립니다. 같은 시스템에 있다면 소켓 연결은 네트워크 물리적 레이어를 포함하지 않으며 디스크를 사용하는 것보다 더 빠를 것입니다.

디스크를 사용하고 두 개의 전송을 관리해야하는 이유는 복잡하지 않습니다.

+0

데이터가 동일한 파일 시스템에있는 경우, 읽기 액세스 만 필요하므로 복제하지 않을 것입니다. process1에서 "이봐, 파일 /tmp/foo.bar에 준비가되어 있습니다. "그리고 process2"ok, 같은 디스크를 공유한다면 디스크에서 읽을 것입니다. " (파일이 100Gb 정도라고 가정) – Qualsiasi