当前位置: 首页 > news >正文

linux-守护进程daemon

linux-守护进程daemon

    • 代码实现 main.c
    • 运行结果

代码实现 main.c


//pName:程序名
//facility: 守护进程,输出日志类型 302页
#include<signal.h>
#include<syslog.h>
#include<fcntl.h>
static int daemon_proc = 0;
#define MAXDF 64
int test_daemon(const char* pName, int facility)
{int i;pid_t pid;if((pid = fork()) < 0){return -1;}else if(pid) //主进程退出{_exit(0);}//创建新会话if((setsid() < 0)){return;}//屏蔽终端挂断的消息signal(SIGHUP,SIG_IGN);//子进程再fork一次//防止子进程变成新会话的守进程,当没终端的会话打开终端时,终端最后会变成会话守进程的终端//为了确保守护进程将来打开终端时也不会获得终端if((pid = fork()) < 0){return -1;}else if(pid) {_exit(0);}//标识当前程序是否是守护进程daemon_proc = 1;//修改工作目录到根目录chdir("/"); //关闭文件描述符号for(int i=0; i<MAXDF; ++i){close(i);}//指定 stdin stdout strerror的日志输出目录//每个文件都属于自己的句柄,例如标准输入是0,标准输出是1,标准出错是2//打开0 1 2 防止 创建socket时被占用int p1 = open("/dev/NULL",O_RDONLY);int p2 = open("/dev/NULL",O_RDWR);int p3 = open("/dev/NULL",O_RDWR);//输出的日志内容在:/var/log/message 中openlog(pName,LOG_PID,facility); syslog(LOG_DEBUG, "daemon create\r\n");return 0;
}int main(int argc, char **argv)
{test_daemon("test_daemon",0);while(1){syslog(LOG_DEBUG, "daemon test\r\n");}return 0;
}

运行结果

在这里插入图片描述

相关文章:

linux-守护进程daemon

linux-守护进程daemon 代码实现 main.c运行结果 代码实现 main.c //pName&#xff1a;程序名 //facility&#xff1a; 守护进程&#xff0c;输出日志类型 302页 #include<signal.h> #include<syslog.h> #include<fcntl.h> static int daemon_proc 0; #defin…...

Kafka Tool(Kafka 可视化工具)安装及使用教程

Kafka Tool&#xff08;Kafka 可视化工具&#xff09;安装及使用教程 Kafka Tool 工具下载 下载地址 http://www.kafkatool.com/download.html 下载界面 不同版本的Kafka对应不同版本的工具&#xff0c;个人使用的是2.11&#xff0c;所以下载的是最新的2.0.8版本&#xff…...

【大揭秘】美团面试题:ConcurrentHashMap和Hashtable有什么区别?一文解析!

正文 亲爱的小伙伴们&#xff0c;大家好&#xff01;我是小米&#xff0c;一个热爱技术分享的程序员&#xff0c;今天我为大家带来了一篇有关美团面试题的热门话题&#xff1a;ConcurrentHashMap 和 Hashtable 有什么区别。这个问题在Java面试中常常被拿来考察对多线程编程的理…...

爬虫基础 JS逆向

爬虫核心 1. HTTP协议与WEB开发 1. 什么是请求头请求体&#xff0c;响应头响应体 2. URL地址包括什么 3. get请求和post请求到底是什么 4. Content-Type是什么 &#xff08;1&#xff09;简介 HTTP协议是Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;…...

nextTick实现原理

答题思路&#xff1a; 此题实际考查vue异步更新策略说出vue是怎么通过异步、批量的方式更新以提高性能的最后把源码中实现说一下 回答范例&#xff1a; vue有个批量、异步更新策略&#xff0c;数据变化时&#xff0c;vue开启一个队列&#xff0c;并缓冲在同一事件循环中发生的…...

CentOS 7中安装ZooKeeper

文章目录 下载解压安装环境变量配置文件启动设置开机自启动开放端口 CentOS 7.6 ZooKeeper 3.5.7 本文介绍了如何在CentOS 7系统中安装单机版的ZooKeeper。 下载 点击官网下载 解压安装 # 解压 tar -xzvf apache-zookeeper-3.5.7-bin.tar.gz sudo mv apache-zookeeper-3.5.…...

推荐《幽游白书》

《幽游白书》是日本漫画家富坚义博于1990年12月3日—1994年7月25日于集英社旗下杂志《周刊少年Jump》上连载的少年漫画作品&#xff0c;全175话&#xff08;含外传一话&#xff09;。现时发行的单行本共计19册&#xff0c;电子版由漫番漫画、哔哩哔哩漫画发布 [1-2] 。 本作最…...

Linux MMC子系统 - 1.eMMC简介

By: Ailson Jack Date: 2023.10.21 个人博客&#xff1a;http://www.only2fire.com/ 本文在我博客的地址是&#xff1a;http://www.only2fire.com/archives/160.html&#xff0c;排版更好&#xff0c;便于学习&#xff0c;也可以去我博客逛逛&#xff0c;兴许有你想要的内容呢。…...

聊聊Android线程优化这件事

一、背景 在日常开发APP的过程中&#xff0c;难免需要使用第二方库和第三方库来帮助开发者快速实现一些功能&#xff0c;提高开发效率。但是&#xff0c;这些库也可能会给线程带来一定的压力&#xff0c;主要表现在以下几个方面&#xff1a; 线程数量增多&#xff1a;一些库可…...

Linux性能优化--实用工具:性能工具助手

8.0 概述 本章介绍一些在Linux系统上可用的实用程序&#xff0c;它们能够加强性能工具的有效性和可用性。实用工具本身不是性能工具&#xff0c;但是当它们与性能工具一起使用时&#xff0c;它们可以帮助完成如下功能&#xff1a;自动执行繁琐的任务、分析性能统计数据&#x…...

[PyTorch]即插即用的热力图生成

先上张效果图&#xff0c;本来打算移植霹雳老师的使用Pytorch实现Grad-CAM并绘制热力图。但是看了下代码&#xff0c;需要骨干网络按照标准写法&#xff08;即将特征层封装为features数组&#xff09;&#xff0c;而我写的网络图省事并没有进行封装&#xff0c;改造网络的代价又…...

golang笔记18--go并发多线程

golang笔记18--go并发多线程 介绍核心用法MutexRWMutexWaitGroupCondOncemapPoolContextselect 注意事项参考文档 介绍 大家都知道go语言近年来越来越火了&#xff0c;其中有一个要点是go语言在并发场景有很高的性能&#xff0c;比如可以通过启动很多个 goroutine 来执行并发任…...

使用OkHttp和Java来下载

以下是一个使用OkHttp和Java来下载内容的下载器程序&#xff0c;同时使用了jshk.com.cn/get_proxy来获取代理服务器。请注意&#xff0c;为了简化代码&#xff0c;我们将忽略一些异常处理和安全性检查。 import java.io.File;import java.io.FileOutputStream;import java.io.I…...

HttpServlet源码分析及HttpServletRequest接口

2023.10.20 HttpServlet HttpServlet类是专门为HTTP协议准备的。比GenericServlet更加适合HTTP协议下的开发。 http包下都有哪些类和接口呢&#xff1f;&#xff08;jakarta.servlet.http.*&#xff09; jakarta.servlet.http.HttpServlet &#xff08;HTTP协议专用的Servlet…...

CENTOS 7基于ISO文件进行安装新软件

众所周知&#xff0c;YUM是CENTOS7的安装程序。 普通情况下&#xff0c;连网之后 &#xff0c;用yum install 就可以安装。 但当网络环境经常出现连接失败的情况&#xff0c;默认情况下的行为就走不通了。 为解决这个问题&#xff0c;可以考虑如下三个方案 方案一&#xff1a;Y…...

模拟器-雷电-使用adb push或adb pull操作文件

一、环境 windows 10 雷电模拟器4.0.83 二、问题 有时候我们会需要往模拟器拷贝文件或者复制文件到我的电脑 三、方法 1、获取root权限 adb root adb remount 有可能遇到【daemon not running; starting now at tcp:5037】的报错 查看端口占用进程&#xff1a;netstat -…...

【前端设计模式】之命令模式

引言 命令设计模式是一种行为型设计模式&#xff0c;它允许你将命令封装到一个对象中&#xff0c;从而使你可以参数化不同的请求&#xff0c;以及存储、排队、重播和撤销请求。这种设计模式在处理用户界面操作、远程网络请求或其他需要异步执行的操作时非常有用。在前端开发中…...

用c++写一个高精度计算的乘法运算

这段代码是一个用C编写的程序&#xff0c;它实现了两个大整数的乘法运算。 #include<iostream> #include<cstdio> #include<cstring> using namespace std;int main(){char a1[101]"222",b1[101]"2";int a[101],b[101],c[10001],lena,l…...

UE5 ChaosVehicles载具 实现大漂移 (连载四)

载具设置成前驱模式 前轮摩擦力倍增x5 后轮摩擦力倍增x0.5...

基于Arrow的轻量线程池

基于Arrow的轻量线程池 大家好&#xff0c;我是光城&#xff0c;最近花了几周业余时间&#xff0c;开发出这款轻量线程池&#xff0c;代码也全部开源啦&#xff0c;欢迎大家star。 本线程池的设计与实现会有涉及非常多的知识&#xff0c;这些内容也都会以视频的方式分享在知识星…...

深度解析:基于 Docker 与 GB28181 的异构计算 AI 视频管理架构,如何实现 X86/ARM 与 GPU/NPU 的全场景兼容?

在安防行业从“看得见”向“看得懂”转型的过程中&#xff0c;开发者往往面临着巨大的技术鸿沟&#xff1a;海量异构设备的接入协议碎片化、不同算力芯片&#xff08;GPU/NPU&#xff09;的底层驱动适配难、以及流媒体高并发处理对系统稳定性的严苛挑战。 传统模式下&#xff…...

Python入门教程(二)Python快速上手

Python 是一门解释型编程语言&#xff0c;这意味着作为开发人员&#xff0c;你可以在文本编辑器中编写 Python&#xff08;.py&#xff09;文件&#xff0c;然后将这些文件放入 python 解释器中执行。 在命令行上运行 python 文件的方式如下&#xff1a; 1 C:\Users\Your Nam…...

告别命令行!在VSCode里一键调试你的Vue3 + Element Plus项目(附完整launch.json配置)

在VSCode中高效调试Vue3与Element Plus项目的完整指南 每次保存代码后都要手动刷新浏览器&#xff1f;终端窗口和编辑器来回切换导致注意力分散&#xff1f;作为长期使用Vue进行企业级应用开发的工程师&#xff0c;我发现VSCode内置的调试工具能彻底改变这种低效的工作模式。本…...

065.模型安全初探:对抗样本攻击对YOLO模型的影响

一、从产线误检说起 上周产线上出了件怪事:一套部署了YOLOv5的视觉检测系统,连续三天在凌晨三点左右误将良品判为缺陷。现场工程师查遍了光照、机械振动、温湿度,甚至怀疑是电源干扰,最后发现有人工巡检员经过时,系统误检率就会飙升。我们调取日志分析,发现巡检员工服上…...

Oumuamua-7b-RP步骤详解:Web UI中调整Top-k=30提升角色专注度实操

Oumuamua-7b-RP步骤详解&#xff1a;Web UI中调整Top-k30提升角色专注度实操 1. 项目概述 Oumuamua-7b-RP 是一款专为日语角色扮演对话设计的Web界面大语言模型&#xff0c;基于Mistral-7B架构开发。这个工具特别适合想要体验沉浸式日语角色对话的用户&#xff0c;通过简单的…...

基于安卓的农村劳动力信息匹配系统毕设

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在设计并实现一种基于安卓平台的农村劳动力信息匹配系统以解决当前农村劳动力市场中存在的信息不对称与供需错配问题。随着我国城镇化进程的持续推进以及…...

DeepPCB:如何用1500对工业级图像彻底解决PCB缺陷检测难题?

DeepPCB&#xff1a;如何用1500对工业级图像彻底解决PCB缺陷检测难题&#xff1f; 【免费下载链接】DeepPCB A PCB defect dataset. 项目地址: https://gitcode.com/gh_mirrors/de/DeepPCB 还在为PCB缺陷检测项目找不到高质量训练数据而烦恼吗&#xff1f;还在担心你的深…...

机器人应用-地下车库清洁

传统地下车库清洁存在高度依赖人工、人力成本高、作业环境恶劣、作业质 量不稳定、夜间安全风险及管理不可量化等核心痛点。商用清洁机器人系统通过 “云端任务规划&#xff0d;机器人自主执行&#xff0d;数据闭环反馈”的全自动化流程&#xff0c;将传统依 赖于人的非标准化服…...

Docker 27原生加密引擎深度解析:如何在容器层硬隔离CT/MRI影像数据,避免零日泄露?

第一章&#xff1a;Docker 27原生加密引擎的医疗合规性演进Docker 27 引入的原生加密引擎&#xff08;Native Encryption Engine, NEE&#xff09;标志着容器运行时在数据静态保护能力上的重大跃迁&#xff0c;其设计深度契合 HIPAA、GDPR 及中国《个人信息保护法》对健康数据“…...

玻璃幕墙装饰扣盖防脱落应用技术研究(一)——试验、分析及计算公式

玻璃幕墙装饰扣盖防脱落应用技术研究(一) ——试验、分析及计算公式 调研发现,玻璃幕墙工程破坏案例中装饰扣盖的破坏占比达到10%以上,本文通过有限元模拟、试验测试和理论分析,对玻璃幕墙咬合型装饰扣盖破坏机理进行研究,并给出了咬合型装饰扣盖的装配力和分离力理论计算…...