微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 进程控制开发之:Linux守护进程

进程控制开发之:Linux守护进程

时间:08-13 来源:3721RD 点击:

syslog(LOG_ERR, "%s\n", "chdir");

exit(1);

}

umask(0); /*第四步*/

for(i = 0; i < getdtablesize(); i++) /*第五步*/

{

close(i);

}

/*这时创建完守护进程,以下开始正式进入守护进程工作*/

while(1)

{

if ((fd = open("/tmp/daemon.log",

O_CREAT|O_WRONLY|O_APPEND, 0600))<0)

{

syslog(LOG_ERR, "open");

exit(1);

}

write(fd, buf, strlen(buf) + 1);

close(fd);

sleep(10);

}

closelog();

exit(0);

}

读者可以尝试用普通用户的身份执行此程序,由于这里的open()函数必须具有root权限,因此,syslog就会将错误信息写入到系统日志文件(例如"/var/log/messages")中,如下所示:

Jan 30 18:20:08 localhost daemon_syslog[612]: open

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top