守护进程 || 精灵进程
目录
守护进程(deamon) || 精灵进程
特点
什么是前台进程组
把自己写的服务器deamon
deamon代码
守护进程(deamon) || 精灵进程
特点
01. 他的PPID是1(附件特征)
02. COMMAND --- 称为进程启动的命令
03. TIME --- 进程启动时长的问题
04. UID --- 是谁启动的
(ls-n / ls-l 就可以看见用户的UID和我们看见的用户名是对应的,就像之前文件名和inode的映射一样)
05. STAT --- 状态
06. TPGID --- 当前进程组和终端相关的信息
(-1 就是说这个进程和中单没有任何关系,具体数字就是和终端有关)
07. TTY --- 就是代表是哪一个终端
08. PGID --- 当前进程所属的进程组
(一旦当前shell要构建一个任务,起了三个进程,第一个进程一般都是进程组的组长)
所以jobs查看任务的时候只有一个,因为他们三是一个组的
09. SID --- 当前进程的会话id
什么是前台进程组
任何时刻,只能有一个前台进程组,当我们登录windows,就肯定要给我们提供一个图形化界面,在linux下就需要(前台进程组(可以只有一个进程))给我们加载bash(一个任务)。
这就是为什么我们登录的时候要有shell,因为登录是系统给我们形成一个会话,这个绘画内部的绘画画手的进程组就是我们的bash。
如果我们把后台进程提到前台
我们的shell就无法运行了,是因为只能有一个前台进程组,bash就会自己把自己投递到后台了,所以命令行解释器就用不了了。
所以我们现在就可以说是:
PS:如果用的时间久了,当前会话占的资源比较多,所以电脑可能会比较卡,所以退出登入,注销一下,注销就是把这个会话之前申请的资源全部释放,然后重新登录,这就是为什么卡的时候说注销一下就可以。(和重启类似)(但有些任务不一定通过注销能解决)
守护进程/精灵进程
所以,我们的网络服务器就不能属于这个会话内,这样就会受这个会话,用户登录和注销的影响(不一定会退出),所以有网络服务的时候,就应该脱离这个会话,让他在计算机里面形成一个新的会话(让他自成进程组,自成新会话)。这样的进程就称为守护进程/精灵进程。
编写守护进程 setsid()-- 将调用进程设置成独立的会话
/dev/nnull -- linux 下的垃圾桶/信息黑洞
就是往里面读写的数据都会被直接丢弃。
把自己写的服务器deamon
就相当于服务部署到了linux当中
哪怕是自己的xshell关了也可以client继续用
那就只能用信号杀了(一般守护进程的命名是d结尾)
deamon代码
daemon(是否更换当前路径,是否关闭0,1,2)系统带的 但一般自己写好点
nohup(就是不挂起)(变成后台进程)
a.out循环打印
nohup.out一直在增大,打印日志信息,就说明程序一直在运行
发现一直在执行,自己自成进程组,自己是组长,但是所属会话依旧是30244(bash),所以这个进程依旧是属于在本绘画内部形成了一个并非守护进程,但是非常像守护进程的了,但是他设置了nohup,不让他受用户登入注销的影响,即这个进程已经属于我们的后台进程了
当我们用户退出再进去的时候
之前那个bash不存在了,PPID也是1了。说明一旦用户退出了,虽然自己不是会话的画手,但是他依旧已经是一个独立的绘画了,这样的我们也称为守护进程化。(已经是一个孤儿进程了)。
相关文章:
守护进程 || 精灵进程
目录 守护进程(deamon) || 精灵进程 特点 什么是前台进程组 把自己写的服务器deamon deamon代码 守护进程(deamon) || 精灵进程 特点 01. 他的PPID是1(附件特征)02. COMMAND --- 称为进程启动的命令03…...
Zookeeper3.5.7版本——客户端命令行操作(znode 节点数据信息)
目录一、命令行语法二、znode 节点数据信息2.1、查看当前znode中所包含的内容2.2、查看当前节点详细数据2.3、节点详细数据解释一、命令行语法 命令行语法列表 命令基本语法功能描述help显示所有操作命令ls path使用 ls 命令来查看当前 znode 的子节点 [可监听]-w 监听子节点变…...
如何写好单测
1、为什么要写单测? 单测即单元测试(Unit Test),是对软件的基本组成单元进行的测试,比如函数、过程或者类的方法。其意义是: 功能自测,发现功能缺陷自我Code Review测试驱动开发促进代码重构并…...
CDH-6.3.2内置spark-2.4.0的BUG
1. 背景 公司最近在新建集群,全部采用开源的大数据框架,并且将之前使用的阿里云的所有服务进行下线,其中就涉及到了旧任务的迁移。 2. 任务 2.1. 简述 我接手到一个之前的 spark 任务,是读取阿里 LogStore 数据,然…...
SpringCloud之ElasticSearch笔记
ElasticSearch 初识ElasticSearch ElasticSearch是什么 ElasticSearch一个基于Lucene的底层的开源的分布式搜索引擎,可用来实现搜索,日志统计,分析,系统监控 正向索引和倒排索引 正向索引:逐条扫描(my…...
数字图像学笔记 —— 17. 图像退化与复原(自适应滤波之「最小二乘方滤波」)
文章目录维纳滤波的缺点约束最小二乘方滤波给一个实际例子吧维纳滤波的缺点 维纳滤波(Wiener Filter),虽然是一种非常强大的退化图像还原算法,但是从实验过程我们也发现它存在着致命的缺陷,那就是要求输入退化系统的 …...
2023-03-05:ffmpeg推送本地视频至lal流媒体服务器(以RTMP为例),请用go语言编写。
2023-03-05:ffmpeg推送本地视频至lal流媒体服务器(以RTMP为例),请用go语言编写。 答案2023-03-05: 使用 github.com/moonfdd/ffmpeg-go 库。 先启动lal流媒体服务器软件,然后再执行命令: go…...
MathType7最新版免费数学公式编辑器
话说我也算是 MathType准资深(DB)用户了,当然自从感觉用DB不好之后,我基本上已经抛弃它了,只是前不久因为个别原因又捡起来用了用,30天试用期间又比较深入的折腾了下,也算是变成半个MathType砖家,coco玛奇朵简单介绍一下这款软件:在很可能看到这儿的你还没有出生的某个年月&…...
一文带你入门angular(中)
一、angular中的dom操作原生和ViewChild两种方式以及css3动画 1.原生操作 import { Component } from angular/core;Component({selector: app-footer,templateUrl: ./footer.component.html,styleUrls: [./footer.component.scss] }) export class FooterComponent {flag: b…...
单例设计模式共享数据问题分析、解决(c++11)设计多线程。
系列文章目录 单例设计模式共享数据问题分析、解决; 文章目录系列文章目录前言一、单例模式1.1 基本概念1.2 单例设计模式共享数据问题分析、解决1.3 std::call_once()介绍二、代码案例1.代码示例总结前言 关键内容:c11、多线程、共享数据、单例类 本章内容参考git…...
Embedding-based Retrieval in Facebook Search
facebook的社交网络检索与传统的搜索检索的差异是,除了考虑文本,还要考虑搜索者的背景。通用搜索主要考虑的是文本匹配,并没有涉及到个性化。像淘宝,youtube这些其实都是涉及到了用户自身行为的,除了搜索还有推荐&…...
xmu 离散数学 卢杨班作业详解【8-12章】
文章目录第八章 树23456810第九章46811第十章24567第十一章14571116第十二章131317第八章 树 2 (2) 设有k片树叶 2∗m2∗43∗3k2*m2*43*3k2∗m2∗43∗3k n23kn23kn23k mn−1mn-1mn−1 联立解得k9 T中有9片树叶 3 有三颗非同构的生成树 4 (1) c --abc e–abed f–dgf…...
Linux入门篇-权限管理
简介 用户管理也是和权限相关的知识点。权限的作用 权限对于普通文件和目录文件作用是不一样的 。[kioskfoundation0 ~]$ ls -l total 264 -rw-rw-r--. 2 kiosk kiosk 31943 May 29 2019 ClassPrep.txt -rw-rw-r--. 2 kiosk kiosk 7605 Jun 14 2019 ClassRHAPrep.txt -rw-rw-r…...
Linux(基于 Centos7) 常用操作
1.Linux 简介Linux 是一种 免费使用、自由传播的类 Unix 操作系统Linux操作系统内核,由林纳斯托瓦兹在1991年10月5日首次发布...Linux 是一套开源操作系统,它有稳定、消耗资源小、安全性高等特点大多数人都是直接使用 Linux 发行版(就是将 Li…...
Math类详解与Random类、三种随机数生成方式(java)
文章目录📖前言:🎀认识Random类🎀三种随机数生成方式🎀Math类的用途🎀Math类的方法📖前言: 本篇博客主要以介绍Math类的常用方法及认识Random类,及三种随机数生成方式 …...
Mac编译QT程序出现Undefined symbols for architecture x86_64
在Mac编写日志服务类, Logging_d.h内容如下 #pragma once #include <QLoggingCategory> Q_DECLARE_LOGGING_CATEGORY(hovering) Q_DECLARE_LOGGING_CATEGORY(creation) Q_DECLARE_LOGGING_CATEGORY(mouseevents) Q_DECLARE_LOGGING_CATEGORY(state) Q_DECLARE_LOGGING_C…...
蓝桥杯-李白打酒加强版
蓝桥杯-李白打酒加强版1、问题描述2、解题思路3、代码实现1、问题描述 话说大诗人李白, 一生好饮。幸好他从不开车。 一天, 他提着酒显, 从家里出来, 酒显中有酒 2 斗。他边走边唱: 无事街上走,提显去打酒。 逢店加一倍, 遇花喝一斗。 这一路上, 他一共遇到店 N 次…...
AtCoder Beginner Contest 292 (A - E) 记录第一场ABC
AtCoder Beginner Contest 292 A - E前言Q1 A - CAPS LOCKQ2 Yellow and Red CardQ3 Four VariablesQ4 D - Unicyclic ComponentsQ5 E - Transitivity前言 本来晚上在打Acwing周赛,最后一题Trie想不出来咋写,看群里有人说ABC要开始了,想着没…...
ubuntu安装使用putty
一、安装 安装虚拟机串口 sudo apt-get install putty sudo apt install -y setserial 二、使用 虚拟机连接串口 sudo setserial -g /dev/ttyS* 查看硬件对应串口 找到不是unknown的串口 sudo putty...
【CS144】Lab5与Lab6总结
Lab5与Lab6Lab汇总Lab5概述Lab6概述由于Lab5和Lab6相对比较简单(跟着文档一步一步写就行),于是放在一起做一个简单概述(主要是懒得写了…) Lab汇总 Lab5概述 lab5要求实现一个IP与Ethernet(以太网&#x…...
基于STM32与华为云的粮仓环境监测系统设计
1. 项目概述粮仓环境监测系统是现代农业管理中不可或缺的重要环节。作为一名长期从事农业物联网开发的工程师,我深知传统人工巡检方式存在的诸多痛点:效率低下、数据记录不完整、响应不及时等问题常常导致粮食储存过程中出现不必要的损失。这套基于华为云…...
基于S7-200控制的自动洗车系统 本设计包括设计报告,PLC组态仿真,I/O接口,带注释程序...
基于S7-200控制的自动洗车系统 本设计包括设计报告,PLC组态仿真,I/O接口,带注释程序pdf版,接线图,控制电路图,主电路图,PLC接线图,顺序功能图 总体设计 系统有自动和手动模式,选择手…...
信奥赛C++提高组csp-s高频考点知识详解
信奥赛C提高组csp-s高频考点知识详解 高频考点:并查集、最小生成树、拓扑排序、欧拉回路、强连通分量、二分图、Dijkstra、Floyd、Bellman-Ford、SPFA、树状数组、线段树、哈希、哈希表、离散化、KMP、Trie字典树、AC自动机、单调栈、单调队列、快速幂、倍增算法、反…...
openclaw源码
https://github.com/openclaw/openclaw https://github.com/VoltAgent/awesome-openclaw-skills/tree/main/categories...
基于 HT for Web 的机车整备场数字孪生系统技术实现
本文基于 HT for Web(基于 WebGL/Canvas 的纯前端可视化插件)构建机车整备场数字孪生三维可视化系统,通过轻量化三维建模、实时数据对接、前端 API 驱动渲染,实现整备场全流程、全要素、全场景的数字化监管。该系统采用 B/S 架构&…...
注意力机制:AI 也会“走神“和“专注“——信息选择的智慧
注意力机制:AI 也会"走神"和"专注"——信息选择的智慧(Version B) 📚 《从零到一造大脑:AI架构入门之旅》专栏 专栏定位:面向中学生、大学生和 AI 初学者的科普专栏,用大白话和生活化比喻带你从零理解人工智能 本系列共 42 篇,分为八大模块: 📖…...
我发现了一个超级好用快速生成er图的工具
写论文、做毕设、搞数据库设计的小伙伴们,谁还在手动画 ER 图?Visio 太笨重、PowerDesigner 上手难、PPT 画出来不规范,调格式调半天,答辩还被老师说图不标准😭 最近我挖到一个免费、在线、一键生成的神器,…...
10款主流施工项目管理系统对比:建筑工程企业选型参考
本文将深入对比10款建筑工程项目管理系统:Worktile、Oracle Primavera P6、Oracle Aconex、Autodesk Build、Procore、Microsoft Project、Smartsheet、monday.com、Jira Confluence、广联达数字项目管理平台。文章将从定位、适用规模、部署方式、核心模块、安全合…...
MLOps实践指南:让AI模型持续交付
在人工智能技术日益渗透到各行各业核心业务的今天,一个严峻的现实是:大量机器学习模型在实验室里表现优异,却止步于概念验证阶段,难以稳定、高效地部署到生产环境。对于软件测试从业者而言,传统的测试方法与工具在应对…...
FlutterFire云函数终极部署指南:Firebase函数一键部署前必做的10个检查
FlutterFire云函数终极部署指南:Firebase函数一键部署前必做的10个检查 【免费下载链接】flutterfire 🔥 A collection of Firebase plugins for Flutter apps. 项目地址: https://gitcode.com/gh_mirrors/fl/flutterfire FlutterFire是Firebase官…...





这就是为什么我们登录的时候要有shell,因为登录是系统给我们形成一个会话,这个绘画内部的绘画画手的进程组就是我们的bash。
如果我们把后台进程提到前台
我们的shell就无法运行了,是因为只能有一个前台进程组,bash就会自己把自己投递到后台了,所以命令行解释器就用不了了。 


就是往里面读写的数据都会被直接丢弃。
daemon(是否更换当前路径,是否关闭0,1,2)系统带的 但一般自己写好点
nohup(就是不挂起)(变成后台进程)
