Linux的守护进程 [补档-2023-08-10]
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]的更多相关文章
- python实现Linux启动守护进程
python实现Linux启动守护进程 DaemonClass.py代码: #/usr/bin/env python # -*- coding: utf-8 -*- import sys import ...
- linux C守护进程编写
linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件.守护进程是一种很有用的进程. Linux的大多数服 ...
- linux 创建守护进程的相关知识
linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...
- asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二)
原文:asp.net core2.0 部署centos7/linux系统 --守护进程supervisor(二) 续上一篇文章:asp.net core2.0 部署centos7/linux系统 -- ...
- 【Linux】- 守护进程的启动方法
转自:Linux 守护进程的启动方法 Linux中"守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问 ...
- Linux Supervisor 守护进程基本配置
supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...
- Linux之守护进程
一.守护进程概述 在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进 程.为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一 ...
- 深入理解Linux操作系统守护进程的意义
Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程(daemons)来执行的.守护进程 ...
- linux创建守护进程
守护进程deamon 是一个后台进程,无需用户输入就能运行,用来在系统后台提供某种服务. 常见的守护进程有Wbe服务器.邮件服务器以及数据库服务器等等.守护进程不能控制终端,所以任何的输入和输出都需要 ...
- 编写Linux/Unix守护进程
原文: http://www.cnblogs.com/haimingwey/archive/2012/04/25/2470190.html 守护进程在Linux/Unix系统中有着广泛的应用.有时,开 ...
随机推荐
- Nginx--upstream健康检查
nginx 判断节点失效状态: Nginx 默认判断失败节点状态以connect refuse和time out状态为准,不以HTTP错误状态进行判断失败,因为HTTP只要能返回状态说明该节点还可以正 ...
- Nginx--引用多配置文件
在nginx.conf的http模块,include 指定某个目录下的*.conf user nginx; worker_processes auto; error_log /var/log/ngin ...
- WebRTC 的现状和未来:专访 W3C WebRTC Chair Bernard Aboba
WebRTC 无疑推动和改变了互联网视频,而这仅仅是刚刚开始,除了大家熟悉的 WebRTC-PC.Simulcast 和 SVC,有太多的新技术和新架构出现在 WebRTC 新的标准中,比如 WebT ...
- JSP | out 对象详解
原作者为 RioTian@cnblogs, 本作品采用 CC 4.0 BY 进行许可,转载请注明出处. 本篇学习自:C语言中文网,部分内容转载仅供学习使用. \[QAQ \] out 对象是一个输出流 ...
- # 2027 ( 统计元音 ) :hash应用
Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output 对于每个 ...
- S3C2440移植linux3.4.2内核之支持YAFFS文件系统
上一节S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统我们构建了根文件系统,这节我们修改内核支持yaffs2文件系统 目录 获取yaffs2源码并给内核打补丁 编译内核make ...
- mock.js使用
前后端联调必备技术之Mock讲解 什么是Mock数据? 处于开发环境模拟接口返回的数据(用于开发状态后端还没给接口) 不会影响生产环境,只是方便我们还没与后端交互时,不阻塞我们开发流程 mock数据好 ...
- Java面试——基础知识点
JVM Jvm体系总体分四大块:类的加载机制.Jvm内存结构.GC算法垃圾回收.GC分析命令调优. 类的加载机制 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的 ...
- keepalived如何手动切换主备
概述 主备部署中使用keepalived可以很方便的实现,安装维护简单,功能稳定. 最近在使用过程中有小的发现,记录一下. 环境 CentOS Linux release 7.9.2009 (Core ...
- 如何实现 Excel 表格转置(行列互换)
直接上经验贴: https://baijiahao.baidu.com/s?id=1690475581736550777&wfr=spider&for=pc 大概就是 先复制粘贴,在粘 ...