12-1守护进程

12-1-1介绍

​   Daemom是Linux中的后台服务进程,通常独立于控制终端并且周期性地执行某种任务或者事件。这些进 程一般不直接和用户交互,不受用户的登录,注销等影响。没有控制终端。

​ 假设我们可以通过crlt+z来强制结束进程,但是当我们连续多次crlt+z后,发现现在并没有关闭我们的终 端,这就是守护进程的用处,它不受用户的影响,它维护着系统中一些基本的功能。

12-1-2 进程组与会话

进程组

  是一个或多个进程的集合,每个进程都有属于它的进程组,有时候我们使用进程组可以更方便的对进程进行管理。当父进程创建子进程的时候,默认子进程与父进程都同属于一个进程组。

进程组的ID == 第一个进程的ID,同时这个进程也叫组长进程。例如一个父进程创建了很多个子进程,父进程和多个子进程就同属于一个组,由于父进程是进程组的第一个进程,所以父进程就是进程组组长。

可以实现某些信号来将整个进程组内的进程杀死。只要进程组还有一个进程存在,那进程组就存在,与组长是否存在无关。进程组的生命周期:从创建开始到最后一个进程离开。

会话:

  一个会话是由一个或多个进程组组成的集合。在建创一个会话时,需要创建一个新的进程组,并将该进程组的组长设置为创建会话的进程。因此,如果创建会话的进程本身已经是一个进程组的组长进程,那么就无法再创建会话了。

  创建会话的进程成为一个进程组的组长进程,负责管理和控制该进程组中的其他进程。同时也因为创建会话的进程是第一个加入会话的,使用该进程会成为会话的会长。

  当创建一个新会话的时候,它会丢弃原有的控制终端的链接。

12-2 创建守护进程

​ 第一步:在父进程中调用fork函数创建一个子进程,并且在子进程中使用setsid函数创建一个新的会话。

​ 第二步:关闭标准输入,标准输出和标准错误的文件描述符。以防止终端关联并避免输入日志等干扰。

​ 第三步(可选):改变并且工作目录,使用chdir(路径)来改变。

​ 第四步:执行核心工作。

Linux的守护进程 [补档-2023-08-10]的更多相关文章

  1. python实现Linux启动守护进程

    python实现Linux启动守护进程 DaemonClass.py代码: #/usr/bin/env python # -*- coding: utf-8 -*- import sys import ...

  2. linux C守护进程编写

    linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件.守护进程是一种很有用的进程. Linux的大多数服 ...

  3. linux 创建守护进程的相关知识

    linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...

  4. asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)

    原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...

  5. 【Linux】- 守护进程的启动方法

    转自:Linux 守护进程的启动方法 Linux中"守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问 ...

  6. Linux Supervisor 守护进程基本配置

    supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...

  7. Linux之守护进程

    一.守护进程概述 在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进 程.为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一 ...

  8. 深入理解Linux操作系统守护进程的意义

    Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的.守护进程 ...

  9. linux创建守护进程

    守护进程deamon 是一个后台进程,无需用户输入就能运行,用来在系统后台提供某种服务. 常见的守护进程有Wbe服务器.邮件服务器以及数据库服务器等等.守护进程不能控制终端,所以任何的输入和输出都需要 ...

  10. 编写Linux/Unix守护进程

    原文: http://www.cnblogs.com/haimingwey/archive/2012/04/25/2470190.html 守护进程在Linux/Unix系统中有着广泛的应用.有时,开 ...

随机推荐

  1. Nginx--upstream健康检查

    nginx 判断节点失效状态: Nginx 默认判断失败节点状态以connect refuse和time out状态为准,不以HTTP错误状态进行判断失败,因为HTTP只要能返回状态说明该节点还可以正 ...

  2. Nginx--引用多配置文件

    在nginx.conf的http模块,include 指定某个目录下的*.conf user nginx; worker_processes auto; error_log /var/log/ngin ...

  3. WebRTC 的现状和未来:专访 W3C WebRTC Chair Bernard Aboba

    WebRTC 无疑推动和改变了互联网视频,而这仅仅是刚刚开始,除了大家熟悉的 WebRTC-PC.Simulcast 和 SVC,有太多的新技术和新架构出现在 WebRTC 新的标准中,比如 WebT ...

  4. JSP | out 对象详解

    原作者为 RioTian@cnblogs, 本作品采用 CC 4.0 BY 进行许可,转载请注明出处. 本篇学习自:C语言中文网,部分内容转载仅供学习使用. \[QAQ \] out 对象是一个输出流 ...

  5. # 2027 ( 统计元音 ) :hash应用

    Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output 对于每个 ...

  6. S3C2440移植linux3.4.2内核之支持YAFFS文件系统

    上一节S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统我们构建了根文件系统,这节我们修改内核支持yaffs2文件系统 目录 获取yaffs2源码并给内核打补丁 编译内核make ...

  7. mock.js使用

    前后端联调必备技术之Mock讲解 什么是Mock数据? 处于开发环境模拟接口返回的数据(用于开发状态后端还没给接口) 不会影响生产环境,只是方便我们还没与后端交互时,不阻塞我们开发流程 mock数据好 ...

  8. Java面试——基础知识点

    JVM Jvm体系总体分四大块:类的加载机制.Jvm内存结构.GC算法垃圾回收.GC分析命令调优. 类的加载机制 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的 ...

  9. keepalived如何手动切换主备

    概述 主备部署中使用keepalived可以很方便的实现,安装维护简单,功能稳定. 最近在使用过程中有小的发现,记录一下. 环境 CentOS Linux release 7.9.2009 (Core ...

  10. 如何实现 Excel 表格转置(行列互换)

    直接上经验贴: https://baijiahao.baidu.com/s?id=1690475581736550777&wfr=spider&for=pc 大概就是 先复制粘贴,在粘 ...