守护进程:守护进程的概念和建立思路方法

守护进程是种后台运行彬接独立于所有终端控制的外进程.
  正是守护进程独立于所有终端控制,因此,他无法向通常那样将信息直接输出到标准输出和标准输出.威力解决这个问题,linux提供了syslog.通过他,守护进程可以向系统log文件写入信息.他在系统库syslog.h中定义如下:
void syslog( priority,char *format,...);
个进程使用syslog时候,应该先用openlog打开系统纪录.

#
void openlog(const *ident, options, facility);
参数ident是窜,通常他是名字.
options可以是下面值.
LOG_CONS 如果不能写入LOG值.则直接将其发送给主控台.
LOG_NDELAY 直接建立SYSLOGD进程而不是打开LOG文件
LOG_PERROR 将信息写入LOG同时也发送给标准输出.
LOG_PID 在每个信息中加入PID值.用

下面用个举例来讲解:
#
#
#
#

# MAXFD 64

{

i;

(fork)
exit(1); /*父进程退出,使子进程成为后台进程*/

sid; /*建立个新进程组,在这个新进程组中,子进程成为这个进程组首进程.这样,该进程就独立于所有终端的外*/

signal(SIGHUP,SIG_IGN); /*忽略SIGHUP信号*/

(fork)
exit(1); /*再次fork,保证该进程不是进程组首进程.*/

chdir("/"); /*改变当前目录,使得进程不和任何文件系统关联*/

unmask(0); /*清除文件掩码,消除进程掩码对其所创建文件影响*/

for(i=0;i close(i); /*关闭所有文件描述符*/

openlog(pname,LOG_PID,facility); /*打开记录*/


 



  • 篇文章: MYSQL利用自定义提升权限

  • 篇文章: xf86config详解
  • Tags:  进程守护自动运行 什么是守护进程 linux守护进程 守护进程

    延伸阅读

    最新评论

    发表评论