⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fig13.6

📁 unix环境高级编程第二版配套源代码 unix环境高级编程第二版配套源代码
💻 6
字号:
#include <unistd.h>#include <stdlib.h>#include <fcntl.h>#include <syslog.h>#include <string.h>#include <errno.h>#include <stdio.h>#include <sys/stat.h>#define LOCKFILE "/var/run/daemon.pid"#define LOCKMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)extern int lockfile(int);intalready_running(void){	int		fd;	char	buf[16];	fd = open(LOCKFILE, O_RDWR|O_CREAT, LOCKMODE);	if (fd < 0) {		syslog(LOG_ERR, "can't open %s: %s", LOCKFILE, strerror(errno));		exit(1);	}	if (lockfile(fd) < 0) {		if (errno == EACCES || errno == EAGAIN) {			close(fd);			return(1);		}		syslog(LOG_ERR, "can't lock %s: %s", LOCKFILE, strerror(errno));		exit(1);	}	ftruncate(fd, 0);	sprintf(buf, "%ld", (long)getpid());	write(fd, buf, strlen(buf)+1);	return(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -