文件IO与进程 创建守护进程(c语言)

         摘要:进程相关知识点

        进程有三种类型:①交互进程,②批处理进程,③守护进程

交互进程:和终端相关,可以在前台进行,也可以在后台运行,关闭终端,进程结束。

批处理进程:跟终端无关,可以将指定的进程放在一个工作队列中按照顺序执行,一般由系统管理。

守护进程:与终端无关,并且在后台一直某些事件或者等待某些事件响应。列如,我们电脑上插入U盘时,电脑会立即识别,识别U盘这个程序我们并没有做任何操作,它是一直在后台运行着的,这便是守护进程。

今天我要讲的便是如何创建一个守护进程,守护进程创建一般有六个步骤,分别是:

1)创建进程(fork()函数),父进程退出(exit( )函数)让子进程变为孤儿进程,让其转到后台运行;

2)让子进程脱离原本会话(setsid()函数)(意思是即使关闭终端也可以执行);

3)修改当前工作路径(chdir()函数,这一步非必要,但建议也执行);

4)重设文件权限掩码(umask(0) 函数 “0”代表原本权限是多少就是多少,这一步也是非必要,但建议也执行)

5)删除进程中所有文件描述符(getdtablesize()函数  返回的是最高的文件描述符,可用循环删除),为了让守护进程更加稳定。

6)用while

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值