Unix环境产生单实例进程方案

在一些情况下,,一个进程只能产生一个实例来执行。Unix环境,提供了文件-记录锁(file- and record-locking)机制,提供了事项单实例进程的基本解决方案。

假如,一个进程在开始运行时,生成了一个文件,并且,对整个文件上锁,并且,只有一个这样的写锁允许生成。

如果,后续的进程要试图产生写锁,会导致失败。这暗示了,前面已经有实例运行了。

下面一个判断是否有实例运行的方法。每个实例,都会试图生成一个文件(/var/run/daemon.pid).如果文件已经锁上了,lockfile方法,返回失败,判断函数返回1,表示进程已经运行了。如果没有实例运行,程序,清空文件,写入进程id,返回0.

下面为一个实现的程序:

一遍一遍的……你突然明白自己还活着,

Unix环境产生单实例进程方案

相关文章:

你感兴趣的文章:

标签云: