天天看點

如何使電腦不會重複啟動同一個程序

---讓程式不能被多次運作

---問題

(1)因為守護程序是長時間運作而不退出,是以./a.out執行一次就有一個程序,執行多次就有多個程序。

(2)這樣并不是我們想要的。我們守護程序一般都是伺服器,伺服器程式隻要運作一個就夠了,多次同時運作并沒有意義甚至會帶來錯誤。

(3)是以我們希望我們的程式具有一個單例運作的功能。意思就是說當我們./a.out去運作程式時,如果目前還沒有這個程式的程序運作則運作之,如果之前已經有一個這個程式的程序在運作則本次運作直接退出(提示程式已經在運作)。

---實作方法:

(1)最常用的一種方法就是:用一個檔案的存在與否來做标志。具體做法是程式在執行之初去判斷一個特定的檔案是否存在,若存在則标明程序已經在運作,若不存在則标明程序沒有在運作。然後運作程式時去建立這個檔案。當程式結束的時候去删除這個檔案即可。

(2)這個特定檔案要古怪一點,確定不會湊巧真的在電腦中存在的。

<a href="https://blog.csdn.net/u011572037/article/details/70162114">https://blog.csdn.net/u011572037/article/details/70162114</a>