Linux 网络编程&&守护进程

啥是守护进程?

就是没有终端的那个框框。

没有框框咋启动?

1.开机在系统启动后,由系统初始化脚本启动。位于/etc的某个目录中

2.由用户在终端启动。

程序有无终端的一些影响?

1.无消息打印,需要syslog函数。

2.其它影响可以在创建的过程中领悟到。

开始写一个守护进程?

1.fork(终止父进程,子进程即可在后台运行。)

2.setsid(创建一个新的会话,session,从而不在有控制终端)

3.忽略SIGHUP信号并再次fork(防止打开终端设备时会自动获取一个会话终端,新的子进程不再是会话头进程从而不能自动获得一个控制终端)

4.为错误处理函数设置标识(用syslog取代fprintf)

5.改变工作目录(当前工作目录的文件系统无法拆卸)

6.关闭所有打开的描述符(关闭从shell继承来的描述符,干脆关闭前64个)

7.将stdin,stdout,stderr重定向到/dev/null。(防止占用这些描述符的perror的隐患)

8.使用syslogd处理错误。(调用一下openlog)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值