LINUX 守护进程

一 概念
   英文名字daemon,又名精灵进程,常在系统开机的时候加载,系统关闭的时候才终止.在windows上就是services
   
二 ps -axj 显示进程
   -a 由其他用户拥有的进程状态
   -x 显示没有控制终端的进程状态
   -j 显示与作业有关的信息
   
三  系统daemon进程
    pid 为0的进程为内核进程
    pid 为1的进程为init进程
    keventd守护进程,为函数执行提供上下文
    kapmd守护进程高级电源管理
    kswapd守护进程页面调出守护进程
    bdflush守护进程 冲洗缓冲区到硬盘
    kupdated守护进程 冲洗页面到硬盘
    portmap端口映射守护进程 将rpc程序号映射为网络端口号的服务
    syslogd 日志相关
    inetd守护进程 侦听网络接口,服务于网络的请求
    nfsd,lockd,rpciod守护进程提供对nfs网络文件系统的支持
    cron守护进程  用于在定时执行命令
    cupsd 打印假脱机进程,处理所有系统打印请求
    守护进程的终端名设置为问号
    
四 守护进程的编程规则
   1)umask设置文件屏蔽字为0,避免进程创建的文件的权限不够
   2)调用fork,父进程exit退出
   3)调用setsid创建一个新会话
   4)将当前工作目录改为根目录
   5)关闭不再需要的文件描述符
   6)将文件描述符0,1,2重定向到/dev/null
   
五 出错处理,日志系统
   1)内核可以调用log函数,然后写入到设备/dev/klog
   2)用户进程调用syslog将日志消息发送到/dev/log
   3)编程送往指定主机的udp514端口
   4)守护进程syslogd默认读取配置文件/etc/syslog.conf
   
六 处理函数
   openlog
   syslog
   closelog
   setlogmask
   vsyslog
   
七 单实例守护进程实现方法
   1) 读/dev下面的设置
   2) 读写文件
   
八 守护进程的惯例
   1)守护进程下的锁文件
     存放目录 /var/run
     锁文件名字 name.pid
   2)守护进程的配置文件
     存放目录 /etc
     配置文件名字 name.conf
   3)启动脚本
     /etc/rc*
     /etc/init.d/*
   4)守护进程终止时,重启该进程
      /etc/inittab 加入一条记录 _respawn
   5)通过接收信号SIGHUP来重新读取配置文件
   
九 守护进程常作为服务端程序来为客户端服务,通信的方式是unix域套接字
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值