有沒有辦法編寫一個C代碼,讓我們確定一個應用程序的前一個實例是否已經在運行?我需要用Linux和Windows的便攜方式來檢查它們,兩者都使用最新版本的GCC可用。如何確定應用程序是否已在運行? C portable Linux/Win
任何可移植代碼的例子都會有很大的幫助。我現在看到兩個選項:
- 檢查進程列表。這裏的linux有很好的工具,但我不認爲這些功能適用於windows。也許一些gnu庫都適合這麼做?什麼庫或功能?
- 保存並鎖定文件。現在,如何以兩種系統都能理解的方式做到這一點?一個問題是在哪裏保存文件?路徑樹與每個系統不同。另外,如果選擇了相對路徑,兩個應用程序仍然可以在不同目錄中使用不同的鎖定文件運行。
謝謝! Beco。
PS。 SO有不同的要求,所以如果你知道一個而不是另一個,請回答。畢竟,如果沒有可移植的「單一」方式,我仍然可以使用#ifdef和提出的代碼作爲答案。
C語言(不是C++),控制檯應用程序,GCC,Linux和Windows
嗨@Keith。該目錄的完整路徑是什麼?有沒有可用的變量?我編輯了這個問題,解釋了在兩個系統中嘗試這樣做時出現的一些疑問。謝謝你的時間! – 2011-04-13 06:39:17