2016-05-13 83 views
0

我有運行作爲一個命令行程序庫。我想給用戶設置鎖的選項,以便在命令行程序不能運行兩次 - 這是 - 如果它啓動時,它不能再執行,直到它完成,從任何終端會話。平臺獨立的系統鎖命令行程序

鎖應該適用於登錄到系統中的任何用戶 - 我認爲我們用一個文件中的一些原子操作,但這樣的結果會有什麼樣的操作?它必須是安全的。如果出現錯誤,用戶將能夠使用--force選項覆蓋鎖定。

關於如何執行此操作而無需安裝任何第三方軟件的任何想法?

潛在實現:也許最簡單的方法是將文件寫入文件系統並在程序退出時將其刪除。是排在第二的任何程序將嘗試寫同樣的文件,並得到一個EEXIST錯誤。

回答

1

嘗試在一些共享區域創建鎖文件,並檢查是否開始

之前退出還要確保在該共享刪除文件的權限只對一組管理員