1、当父进程创建子进程的时候,默认子进程与父进程同属一个进程组,可以用kill -SIGKILL -进程组id(负数)来将整个进程组的id全部杀死。

2、组长进程不能创建会话。

3、setsid 函数

4、创建一个会话,并以自己的ID设置进程组ID,同时也是新会话ID。

5、pid_t setsid(void) ;
成功:返回调用进程的会话ID;失败:-1,设置errno

6、调用了setsid函数的进程,既是新的会长,也是新的组长

7、守护进程:

​又称daemon进程。通常运行于操作系统后台,脱离控制终端。一般不与用户直接交互。周期性的等待某个时间的发生或周期性执行某一个动作,不受用户登录注销影响。通常采用以d结尾的命名方式。
守护进程创建步骤(重要):

8、创建daemon:守护进程的过程:

​ 1)、fork子进程,让父进程终止(exit(0))

​ 2)、子进程调用setsid()创建新会话(pid=setsid())

​ 3)、通常根据需要,改变工作目录位置 chdir(“目录”)一般设置为根目录,防止被卸载

​ 4)、通常根据需要,重设umask文件权限掩码,影响新文件的创建权限。022-755

​ 5)、通常根据需要,关闭/重定向 文件描述符

​ 6)、守护进程 业务逻辑。while()

#include <stdio.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <fcntl.h>
#include <sys/time.h>
void work(int num)
{time_t tm=time(NULL);struct tm *loc=localtime(&tm);char buf[1024];sprintf(buf,"%d-%d-%d %d:%d:%d\n",loc->tm_year,loc->tm_mon,loc->tm_mday,loc->tm_hour,loc->tm_min,loc->tm_yearloc->tm_sec);printf("%s\n",buf);
}
int main()
{//1、fork子进程,让父进程终止(exit(0))pid_t pid=fork();if(pid>0)exit(0);
​       //2、子进程调用setsid()if(pid==0){setsid();}
​       //3、通常根据需要,改变工作目录位置 chdir(“目录”)一般设置为根目录,防止被卸载chdir("/");
​       //4、通常根据需要,重设umask文件权限掩码,影响新文件的创建权限。022-755umask(022);
​       //5、通常根据需要,关闭/重定向 文件描述符int fd=open("/dev/null",O_RDWR);dup2(fd,STDIN_FILENO);//0dup2(fd,STDOUT_FILENO);//1dup2(fd,STDERR_FILENO);//2
​       //6、守护进程  业务逻辑。while()//(1)捕捉信号struct sigaction act;act.sa_flags=0;act.sa_handler=work;sigemptyset(&act.sa_mask);sigaction(SIGALRM,&act,NULL);//(2)创建定时器struct itimerval val;val.it_value.tv_sec=2;val.it_value.tv_usec=0;val.it_interval.tv_sec=2;val.it_interval.tv_usec=0;setitimer(ITIMER_REAL,&val,NULL);while(1){sleep(10);}return 0;
}

运行结果如下:

但是最后单纯的用CTRL+C是杀不死进程的,需要用kill -9 进程号的形式把他杀死。


0基础学会 守护进程(内附C语言源码)相关推荐

  1. 0基础学会 端口复用(内附C语言源码)

    一.端口复用最常用的用途是: 1.防止服务器重启时之前绑定的端口还未释放: 2.程序突然退出而系统没有释放端口 二.相关API #include <sys/types.h> #includ ...

  2. QQ自动点赞PHP源码_QQ好友批量回名片赞工具-QQ自动点赞附易语言源码V1.0电脑版PC端回赞-西西软件下载...

    QQ自动点赞附易语言源码是一款电脑版QQ好友批量回名片赞工具下载附易语言源码和导入QQ号码方,PC端QQ回赞和源码,然后打开软件导入QQ号码即可批量赞了,每个好友可以赞10次,同时附带了源码可以编译成 ...

  3. 远程服务器批量管理v1.6(附易语言源码)

    介绍: 使用第三方远程工具的时候,最担心的问题就是密码泄露,这款软件提供了易语言源代码,可以放心使用! 同时也给大家提供了成品软件,无需懂代码,无需编译,下载即用! 远程服务器管理工具成品+源码是一款 ...

  4. 备忘录模式详解 (附java语言源码)

    备忘录模式(Memento Pattern): 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保持该状态,这样以后就可以将该对象恢复到保存的状态.(Without violating ...

  5. oracle asmb关闭,[Oracle 11g r2(11.2.0.4.0)]集群守护进程CSS资源管理

    [Oracle 11g r2(11.2.0.4.0)]集群守护进程CSS资源管理 2018-07-25 11:43:31Oracle 首先看一下11gr2 各个进程关系: 之前谈到的css功能可以统称 ...

  6. 开启注解缓存_Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解

    随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一.Spring 3开始提供了强大的基于注解的缓 ...

  7. c语言远控,远控鼠标!C语言简单编程:整舍友必备+附送实例源码!

    远控鼠标!C语言简单编程:整舍友必备+附送实例源码!-1.jpg (10.71 KB, 下载次数: 0) 2018-10-11 05:24 上传 关注<一碳科技>有更多干货等着你哦! 远控 ...

  8. Android10.0 日志系统分析(三)-logd、logcat读写日志源码分析-[Android取经之路]

    摘要:本节主要来讲解Android10.0 logd.logcat读写日志源码内容 阅读本文大约需要花费20分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Andro ...

  9. python提取发票信息发票识别_(附完整python源码)基于tensorflow、opencv的入门案例_发票识别二:字符分割...

    (附完整python源码)基于tensorflow.opencv的入门案例_发票识别二:字符分割 发布时间:2018-05-14 20:16, 浏览次数:1201 , 标签: python tenso ...

最新文章

  1. HighNewTech之Job:关于人工智能领域专业的公司求职数据分析(最全)
  2. 第六章 SpringCloud之Ribbon负载均衡
  3. [Ljava.lang.String; cannot be cast to java.lang.String
  4. wow 私服trinitycore
  5. PAT 乙级 1054. 求平均值 (20) Java版
  6. 王者峡谷一呼百应,弹幕“666”,背后都离不开长连接,如何实现千万级高性能的长连接网关?...
  7. Haskell 开发平台安装及Hello World
  8. 计算机专业html5的毕业论文范文,计算机专业毕业设计论文范文.doc
  9. php链接mysql数据库 p_php连接mysql数据库的几种方法
  10. Beosin成都链安安全舆情系统上线 公众号更新全新体验!
  11. android 年月日倒计时,手机日期倒计时
  12. 《迅雷链精品课》第九课:区块链 P2P 网络
  13. 12306 验证码识别源码
  14. 学校快递代领PHP源码_PHP校园帮忙领取快递平台
  15. JAVA程序员的堕落:只知框架不懂底层原理
  16. 哪里买. com最便宜?
  17. android button 字母自动变大写的解决
  18. Spring注解之@GetMapping详解
  19. 【原创:毕业意味着什么】
  20. 2016 下半年网络工程师上午真题及解析

热门文章

  1. 移动端h5页面微信一键登录
  2. 面试的时候怎样回答技术面试题?
  3. 苹果8参数_苹果Apple MacBook Air 13.3 新款笔记本怎么样,配置好不好
  4. 今日所学(一) [当日学习内容检查,如果有误,望大家赐教]
  5. 你不知道的adb,熟知工具快速开发
  6. unity如何往下挖地形_Unity3D地形挖坑
  7. 分布式低延迟的调度系统Sparrow详细解读
  8. 只有他,能在西方拍摄出东方的江湖
  9. 【小龙】我想走一条不同的路,我要走我自己的路——大二转专业计院学生的个人思考
  10. 如何将所有商品改成免运费?