您当前的位置: 首页 >  小林coding linux

Linux C 后台服务程序单进程控制

小林coding 发布时间:2019-08-31 16:45:01 ,浏览量:4

介绍

通常后台服务器程序都必须有且只有一个进程,那么如何单进程呢?

本例子是通过flock函数对/var/run/myserver.pid记录pid文件的进行加锁

  • 若加锁不正常,说明后台服务进程已经在运行了,这时则直接报错退出
  • 若加锁成功,说明后台服务进程没有在运行,这时可以正常启用进程
后台服务程序单进程控制

详细不多说,直接看代码

#include 
#include 
#include 
#include 
#include 
#include 

#define  PID_BUF_LEN   (20)
#define  RUN_PID_FILE  "/var/run/myserver.pid"

//服务进程单实例运行
//返回值: 1--正在运行,0--未运行,-1--出错
int server_is_running()
{
    int fd = open(RUN_PID_FILE, O_WRONLY|O_CREAT);
    if(fd             
关注
打赏
1688896170
查看更多评论
0.0536s