2017-09-19 59 views
0

我有一個應用程序從文件中讀取IP和端口,然後打開一個HTTP連接到地址讀取。爲了更確定我連接到我想連接的服務器,我只想相信文件的內容,如果它由root擁有,而不是其他人可以寫的。原子檢查所有者,檢查模式和讀取文件

我可以用fs.stat檢查所有者和模式,然後閱讀文件內容,但會引入競爭條件。

有沒有辦法自動檢查所有者和模式並閱讀文件內容?

回答

0

我不認爲用fs.stat你正在引入競爭條件,因爲你只是閱讀而不是寫它,所以我認爲你找到的解決方案是最好的,現在。 您可以添加一個布爾變量來檢查一個函數是否仍在「讀取」該文件(讀取後應設置布爾值),以避免出現問題。

+0

感謝您的回答!我在考慮如果發生競爭情況 1.我的節點進程運行'fs.stat' 2.另一個進程運行'chmod' 3.我的節點進程讀取文件內容 – Thinner

+0

您無法控制,如果問題是你程序中的一個函數,你可以像我之前說的那樣解決它,在檢查文件之前先進行檢查,否則你無法處理那些東西,它的代碼是外部的 – Deletefile