Linux网络编程:守护进程

news2024/11/16 19:30:52

目录

1.会话

2.守护进程的特点

3.如何将一个进程变成守护进程


1.会话

在Linux下一个会话就是 终端文件 + bash,会话就是人类和计算机沟通的窗口和解释器。

可以在xshell中新建立一个会话验证一下。

复制会话

使用 ls /dev/pts 命令,查看有几个终端文件。

使用echo 1111 > /dev/0,看到哪个终端上显示1111。

下面的这个终端就是终端0

使用ps axj | head -1 && ps axj | grep bash命令 查看系统中bash的信息

我们看到两个bash属于不同的终端,这两个bash的sid(会话id)也是不同的。

2.守护进程的特点

1.守护进程不属于任何一个会话,所以不受用户登陆登出的影响。

2.守护进程会去关联终端文件,也就是不会向终端输入输出,但是可以向文件中输出(日志)。

3.守护进程独占一个会话。

4.守护进程一定是孤儿进程

3.如何将一个进程变成守护进程

1.daemon就是将当前进程变成守护进程的接口。

2.daemon成功返回0,失败返回-1错误码被设置

3.nochdir如果设置为0,工作目录会被设置为根目录,其他情况当前工作目录保持不变。

4.noclose吐过设置为0,会将标准输入,标准输出重定向到/dev/pst/null这个终端文件中,最5.终输入和输出的内容都会被丢弃,其他情况则不改动文件描述符。

6.使用daemon的进程一定不能是进程组的组长,进程组组长通常就是第一个被创建出来的进程。

#include<iostream>
#include<unistd.h>
#include<sys/types.h>


int main()
{	
	int n = fork();
  if(n == 0)//子进程
  {
    daemon(1,1);
    //从这开始就会变成守护进程
  }
  return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(Lane Deteciton-1)PersFormer

介绍 在自动驾驶中&#xff0c;下游模块如规划和控制通常需要将车道位置表示为正交的鸟瞰图&#xff08;BEV&#xff09;而不是前视图表示。使用BEV表示有助于更好地与环境中的交互式代理&#xff08;如车辆、道路标志、交通灯等&#xff09;对齐任务&#xff0c;并且与其他传…

tomato靶场通关

1、使用nmap扫描C段查找网址 2、使用dirb扫描目录 3、打开网站查看目录 4、发现一个info.php文件查看 5、查看源代码&#xff0c;发现文件包含漏洞 6、查看etc/passwd &#xff0c;查看日志 7、写入一句话木马 8、使用蚁剑进行连接查看&#xff0c;可以使用终端

Vue 3 组合式 API

相比较 Vue.js 2.x 版本传统的方法组织形式&#xff0c; Vue.js 3.x 提出了组合式 API 的格式。本 章带领读者系统学习 Vue.js 3.x 新增的有关组合式 API 的知识。 本章主要涉及到如下知识。 组合式 API 与选项式 API 的语法区别。 在组合式 API 中使用生命周期…

从监控到智能:EasyCVR视频汇聚平台助力加油站安全监管升级转型

随着科技的不断进步&#xff0c;视频监控技术在各个行业的应用日益广泛&#xff0c;尤其在加油站这一关键领域&#xff0c;视频智能监管系统的应用显得尤为重要。TSINGSEE青犀视频EasyCVR视频汇聚平台作为一款基于“云-边-端”一体化架构的视频融合与AI智能分析平台&#xff0c…

guava中对Map的扩展数据结构

Multimap - 多值Map guava中的Multimap提供了将一个键映射到多个值的形式&#xff0c;使用起来无需定义复杂的内层集合&#xff0c;可以像使用普通的Map一样使用它&#xff0c;定义及放入数据如下&#xff1a; Multimap<String, Integer> multimap ArrayListMultimap.…

小琳Python课堂:Python高并发实现的基本原理(高阶版)

大家好&#xff0c;这里是小琳Python课堂&#xff01; 今天&#xff0c;我们将从高阶视角深入探讨Python高并发实现的基本原理&#xff0c;特别是线程安全性、线程同步和原子性这三个核心概念。这些概念对于构建复杂、高效的多线程应用程序至关重要。 线程安全性 首先&#x…

飞机制造5G智能工厂数字孪生工业物联平台,推进制造业数字化转型

飞机制造行业作为高端制造业的典范&#xff0c;正积极探索数字化转型的新路径。飞机制造5G智能工厂数字孪生工业物联平台&#xff08;以下简称“平台”&#xff09;的兴起&#xff0c;不仅为飞机制造业注入了强劲动力&#xff0c;更为整个制造业的数字化转型树立了新的标杆。 …

Java学习第七天

成员方法分类&#xff1a; 静态成员方法&#xff08;有static修饰 属于类&#xff09;建议用类名访问&#xff0c;也可以用对象访问 实例成员方法&#xff08;无static修饰 属于对象&#xff09;只能用对象出发访问 使用static来定义一些工具类 工具类直接使用类名.方法调用即…

Java并发线程 共享模型之管程 5

1. 生产者消费者 package cn.itcast.testcopy;import cn.itcast.n2copy.util.Sleeper; import lombok.extern.slf4j.Slf4j;import java.util.LinkedList;/*** ClassName: Test21* Package: cn.itcast.testcopy* Description: 生产者消费者** Author: 1043* Create: 2024/9/4 - …

Hadoop vs Spark

Hadoop 和 Spark 都是apache基金会下、在大数据架构中广泛使用的开源框架&#xff0c;两个框架都各自有各自的开源技术生态系统&#xff0c;用于准备、处理、管理和分析大数据集。 Hadoop 生态系统由四个主要模块组成: HDFS): Hadoop的数据存储系统&#xff0c;用于管理运行在普…

vue3中如何拿到element plus中el-tree多选的值?

在vue3中使用了element plus的el-tree组件 并将其设置为可选择的情况下如何拿到所选择的值&#xff1f; 首先我们要为el-tree设置show-checkbox&#xff08;它的作用是&#xff1a;节点是否可被选择&#xff09;&#xff0c;然后为el-tree绑定ref vue3中的ref跟vue2中的ref获取…

未来十年美业发展方向:健康与美容的结合|美业SaaS系统收银系统源码

随着人们对健康和美容的重视不断增加&#xff0c;美业正在经历一场革命性的变革。未来&#xff0c;美业的发展将更加注重健康与美容的结合&#xff0c;这一趋势将在多个领域产生深远影响。 下面博弈美业为大家阐释「为什么未来美业的发展方向是健康和美容的结合」&#xff1a;…

Java web开发常见中间件多版本下载备用

备注&#xff1a;每次换电脑都要重新构建一下环境&#xff0c;下载找资源很麻烦&#xff0c;官网英文网页找个历史版本看不懂&#xff0c;还要慢慢去搜&#xff0c;所以直接整理一波&#xff0c;需要的自行收藏。 1.nodejs自选版本下载&#xff1a; 地址&#xff1a;https://…

Facebook广告投放如何在节日季脱颖而出

众所周知&#xff0c;节日季是销售的旺季&#xff0c;根据统计基本都集中在年末。所以如果你想在今年的节日季大赚一笔&#xff0c;你需要从现在开始做准备工作&#xff0c;以便敲定你的节日季的营销策略。如果你感兴趣的话就继续看下去吧~ 1、设置转化API 在 Facebook 广告中…

leetcode回文链表

leetcode 回文链表 题目 题解 两种方式进行题解 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, Li…

[rk3399 android11]关闭声卡

使用以下命令查看声卡&#xff0c;可以看到目前有三个声卡 cat /proc/asound/cards 修改设备树 diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3399-jw-d039.dts b/kernel/arch/arm64/boot/dts/rockchip/rk3399-jw-d039.dtsindex 515334c127..5b592a852f 100755--- a/…

Unity Xcode方式接入sdk

入口 创建 GameAppController 类 继承 UnityAppController 并且在类的实现之前 需要 加 IMPL_APP_CONTROLLER_SUBCLASS(GameAppController)&#xff0c;表明这个是程序的入口。UnityAppController 实现了 UIApplicationDelegate。 可以简单看下 UIApplicationDelegate 的生命周…

[数据集][目标检测]智慧牧场猪只检测数据集VOC+YOLO格式16245张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;16245 标注数量(xml文件个数)&#xff1a;16245 标注数量(txt文件个数)&#xff1a;16245 标…

如何在算家云搭建ComfyUI(AI绘画)

一、ComfyUI简介 ComfyUI 是一个强大的、模块化的 Stable Diffusion 界面与后端项目。该用户界面将允许用户使用基于图形/节点/流程图的界面设计和执行高级稳定的扩散管道。该项目部分其它特点如下&#xff1a; 全面支持 SD1.x&#xff0c;SD2.x&#xff0c;SDXL&#xff0c;…

Java 入门指南:Java 并发编程 —— 并发容器 ArrayBlockingQueue

BlockingQueue BlockingQueue 是Java并发包&#xff08;java.util.concurrent&#xff09;中提供的一个阻塞队列接口&#xff0c;它继承自 Queue 接口。 BlockingQueue 中的元素采用 FIFO 的原则&#xff0c;支持多线程环境并发访问&#xff0c;提供了阻塞读取和写入的操作&a…