2013-10-02 76 views
0

如果兩個進程(在我的情況下是java)進程可以訪問至少一個共同的文件系統,你將如何檢測? (可能包括網絡共享文件系統)。如何知道2進程是否可以訪問公用文件系統

假設它們可以在共享磁盤的兩臺計算機上,在單獨的機器上,或者簡單地在同一臺計算機上的兩個進程上。我很樂意讓我的進程保持正常的用戶權限,所以讓我們假設我不能在所有文件系統的根目錄下寫一個文件來跟蹤這個。

也許以某種方式使用臨時目錄。

+0

他們是否需要告訴對方他們可以訪問文件系統? –

+0

他們需要唯一標識文件系統,以便他們知道他們是否可以通過文件系統傳遞文件,或者他們必須通過網絡發送文件。 – Qualsiasi

+0

這些過程是否可以以某種方式彼此交談? – Joni

回答

1

不要。如果他們在單獨的機器上傳遞數據通過文件系統將比簡單的套接字連接慢很多。如果它們在同一個系統上,套接字連接將不涉及網絡物理層,並且可能會比使用磁盤更快。

使用磁盤和必須管理兩個傳輸只是無故引入複雜性。

+0

如果數據在同一個文件系統上,我不會複製它,因爲只需要讀取訪問權限我希望process1說「嘿,文件準備在/tmp/foo.bar「和process2」好的,我要從磁盤讀取它,如果我們共享同一個磁盤「。 (假設文件大100 Gb左右) – Qualsiasi

相關問題