下面是一個簡單的「Hello World」 C程序需要10秒即可完成:限制程序只運行一個實例
#include<stdio.h>
main()
{
printf("hello World 1 \n");
fflush(stdout);
sleep(10);
printf("hello World 2 \n");
fflush(stdout);
}
如何修改它,最多隻有一個這個可執行文件可以在運行的實例在任何時候?我正在使用Linux。
例如,假設服務器崩潰(如果同時運行多個實例),並且我們試圖防止這種情況發生。我希望看到一個或多個不同方式的示例,以便我可以在我的系統上運行和驗證。
另外,是否有一個簡單的方法來排隊他們,所以如果我連續運行兩次C的可執行文件,第二個剛剛在第一個完成後運行?
通常您需要外部看門狗/啓動程序來執行此類服務。 – Anycorn 2012-04-17 23:33:09
我認爲你不瞭解評論。我認爲他的意思是另一種工具來完成你所要求的工作。 – m0skit0 2012-04-17 23:38:33
類似http://mmonit.com/monit/?但是我認爲我誤解了你的問題 - 你對運行守護進程並不感興趣? – Anycorn 2012-04-17 23:40:21