下面是一个简单的“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