可能重复:
在Linux上防止多个流程实例
我有多线程应用程序,可以作为deamon进程运行或一次使用输入参数.
我想确保如果应用程序作为deamon进程运行,则不应允许用户再次运行它.
编辑:在你们都建议去寻找鸡群之后,我试了一下并把它放在服务器上.我知道有奇怪的问题,当服务器被退回时,他们会删除所有文件,包括锁定文件:(.现在怎么样?
最简单的方法是绑定到一个端口(可以是unix域,在"私有"目录中)只有一个进程可以绑定到一个端口,所以如果绑定了该端口,则该进程正在运行.如果进程退出,内核会自动关闭filedescriptor.它会使您的进程花费(未使用的?)文件描述符.通常,守护进程无论如何都需要一些侦听套接字.