编写守护进程

编写守护进程,实现每隔30s,保存你觉得某个重要的文件(拷贝一份文件,存储在别的位置)。 守护进程 阅读详情

编写守护进程:

守护进程是Linux的后台服务进程,它是一个生存期比较长的进程,,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。

创建守护进程步骤如下:

(1)创建子进程,父进程退出

完成这一步后子进程变成了后台进程,给用户感觉是已经执行完了。父进程退出后,子进程就成为一个孤儿进程。在Linux中,每当系统发现一个孤儿进程,就会自动由1号进程(init进程)收养,就会成为init进程的子进程

(2)在子进程中创建新对话

通过setsid()函数创建新的会话,自己并担任此会话组的组长,此时,该进程已经摆脱原会话的控制,摆脱原进程组的控制,摆脱原终端的控制,并完全独立于其它进程

会话:会话组是一个或多个进程组的集合,通常一个会话开始于用户登录,终止于用户退出;或者说是开始于终端打开,结束于终端关闭,会话期的第一个进程称为会话组长。

(3)改变当前目录

为了使我们所创建的守护进程能够长久的运行,而不受其它原因的影响,有必要将当前的目录换成其它的路径,如”tmp”,使用函数 chdir();

(4)重设文件权限掩码

文件权限码是用来屏蔽文件权限的对应位,常用八进制表示,将文件权限掩码设置为0,可以增强该守护进程的灵活性。设置文件权限掩码的函数是umask(0),参数通常是0

(5)关闭文件描述符

由fork函数新建的子进程会从父进程那里继承一些已经打开的文件,而这些文件可能永远也无法被守护进程访问,所以为防止占用系统资源,将其关闭,通常关闭的是标准输入、标准输出和标准错误。

    close(0);
    close(1);
    close(2);
这样一个守护进程就创建起来了,我们可以在程序中让该守护进程将出错信息输出到某一文件中
Linux守护进程编写 Linux守护进程编写 环境:VMware 15 + ubuntu 16 护进程的特点 后台服务程序,随系统启动而启动。 很多系统服务通过守护进程完成。 守护进程的名字往往以字母‘d’结尾 生存周期长。系统装入时启动,系统关闭时终止。 周期性的执行某种任务或等待处理某些特别的事件。 在Linux中,每一个与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这... 阅读详情

相关推荐

编写守护进程,并使用守护进程按要求生成.log文件

1.编写一守护进程,每隔30秒,将系统当前进程总数、休眠进程数、运行进程数、僵死进程数、终止进程数等信息按照如下格式写入到procinfo.log文件中。 格式可类似为: 2013-11-10 20:50:20 29 processes: 28 sleeping, 1 running, 0 zombie, 0 stopped 2013-11-10 20:50:50 29 proces

派生阳光 2243

编写一个守护进程

守护进程-----也就是常说的Daemon进程,是linux后台的服务进程,是一个生存期较长的进程,独立于终端并且周期性的执行某种任务或等待处理某些任务。守护进程在系统引                        导时载入时启动,在系统关闭时终止。linux下的许多系统服务都是守护进程完成的。守护进程还能完成许多系统任务,如作业规划进程crond,打印进程lqd(d就是

1万+

Qt编写守护进程

没有任何人敢保证自己写的程序没有任何BUG,尤其是在商业项目中,程序量越大,复杂度越高,出错的概率越大,尤其是现场环境千差万别,和当初本地电脑测试环境很可能不一样,有很多特殊情况没有考虑到,如果需要保证程序7*24小时运行,则需要想一些办法能够让程序死了能够活过来,在嵌入式linux上,大部分会采用看门狗的形式来处理,程序打开看门狗驱动后,定时喂狗,一旦超过规定的时间,则硬件软复位等。这种方式相对来说比较可靠,如果需要在普通PC机上运行怎办呢?本篇文章提供一个软件实现守护进程的办法,原理就是udp通信,单独写个守护进程程序,专门负责检测主程序是否存在,不存在则启动。主程序只需要启动live类监听端口,收到hello就回复ok就行。 为了使得兼容任意程序,特意提炼出来共性,增加了多种设置。 1:可设置检测的程序名称。 2:可设置udp通信端口。 3:可设置超时次数。 4:自动记录已重启次数。 5:自动记录最后一次重启时间。 6:是否需要重新刷新桌面。 7:可重置当前重启次数和最后重启时间。 8:自动隐藏的托盘运行或者后台运行。 9:提供界面设置程序名称已经开启和暂停服务。

linux编程-守护进程编写

linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。 同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程

aaronjzhang_的专栏 1424

迈德威视相机调用( 基于 Linux系统+ OpenCV )

迈德威视相机调用( 基于 Linux系统+ OpenCV )前言一、登录迈德威视官网,下载官方SDK二、代码调用与视频帧处理( 基于 OpenCV )总结 前言     此博客记录了迈德威视工业相机在 Linux 系统下的代码调用及其环境配置,通过 OpenCV 对视频帧进行处理。   一、登录迈德威视官网,下载官方SDK      迈德威视官网 : http://www.mindvision.com.cn/     1. 进入官网后,在服务支持中选择软件下载。    2. 选择Linux系统S.

kkkkkk0729的博客 5675

window下迁移SVN仓库到新的windows服务器

window下迁移SVN仓库到新的windows服务器

Bertram的博客 4690

守护进程的编写

守护进程的编程规则 在不同Unix环境下,守护进程的具体编程细节并不一致。但所幸的是,守护进程的编程原则其实都一样,区别仅在于具体的实现细节不同,这个原则就是要满足守护进程的特性。编程规则如下: 1、在后台运行 为避免挂起控制终端,要将daemon放入后台执行,其方法是,在进程中调用fork使父进程终止,让daemon在子进程中后台执行。具体就是调用f o r k ,然后使父进程

871

scRNA-seq | 吐血整理的单细胞入门教程(从原理到代码实操)(二)

scRNA-seq | 吐血整理的单细胞入门教程(从原理到代码实操)(二)

m0_72224305的博客 4305

Linux守护进程的编写

Linux守护进程的编写

weixin_71574198的博客 1893

双臂复合机器人眼在手外标定实战:从原理到D435标定流程详解

本文详细解析了双臂复合机器人中眼在手外标定的核心原理与实战流程。通过阐述坐标系转换与AX=XB方程,重点介绍了使用Intel RealSense D435相机进行标定的完整步骤,包括环境搭建、数据采集、计算与验证,并提供了关键的避坑指南,帮助工程师实现相机与机械臂基座间的精确坐标对齐。

weixin_29100927的博客 445

使用Python开发TreeATE的测试脚本常见问题

ImportError: No module named py_compile 找不到 DevLangPython3.dll 以上2个问题都是没有安装正确的Python,当前TreeATE依赖32位Python 2.7版本,暂时不支持Python 3以上版本

蓝白云的专栏 1032

Ubuntu下的守护进程的编写

守护进程(Daemon )及特性 在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。守护进程是脱离于终端并且在后台运行,周期性的执行某种任务或者等待处理某些发生的事件进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。 由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个

zeal_fish的博客 7764

用Python实现一个简单的远程桌面服务端和客户端

本文介绍了一个基于Python的轻量级远程桌面解决方案,针对商业软件在嵌入式系统上的兼容性问题、性能问题和成本问题。系统采用客户端-服务端架构,包含两个通信通道:5000端口传输压缩视频流,5001端口传输控制事件。通过多线程设计、图像压缩(JPEG+zlib)和网络优化(禁用Nagle算法)等技术手段提高性能。服务端实现了高效的屏幕捕获(使用mss库)、图像处理流水线和事件处理逻辑。客户端采用PyQt5构建UI界面,包含视频接收线程以减少主线程负担。该方案具有跨平台、开源免费、轻量级(核心代码不到500行

Hi20240217的博客 1656

linux守护进程以及如何编写守护进程程序

linux守护进程以及如何编写守护进程程序

jinking01的专栏 1029

windows一键安装部署wvp-GB28181-pro视频监控平台

我们可以看到redis、mysql、zlm和wvp都正常运行了。该ip需要修改为wvp服务安装的 服务器的IP。默认用户名和密码分别为admin和admin。

zengliguang的专栏 5746

数字盲水印嵌入和提取的实现基于小波变换DWT算法

数字盲水印是指在不知道原始图像的情况下,在其上嵌入水印并在后续的提取过程中能够恢复出原始水印的一种技术。本文介绍的数字盲水印嵌入和提取的实现方法基于小波变换DWT算法。具体来讲,DWT将信号或图像进行二次下采样和卷积滤波,使得高频分量的图像信息被集中在一个小区域内,方便进行嵌入和提取操作。其中 a 表示嵌入强度,而 watermark 则是用于嵌入的水印图像,这里我们嵌入的是一个全灰的图像。通过以上的代码,我们可以实现数字盲水印的嵌入和提取,并在一定程度上保护数字图片的版权安全。

HackWhisper的博客 511

linux守护进程的编写

Linux守护进程 了解守护进程的特点 了解ps中查看守护进程的方法 了解会话相关概念 掌握编写守护进程的方法 一、基础知识 1)进程的类型,进程大体分为三类        (1)交互进程        (2)批处理进程        (3)守护进程 2)守护进程的特点       (1)运行方式: 守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程。周期...

YH3608的博客 2761

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

[收藏]什么是守护进程,以及如何编写。

守护进程守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。unix系统有很多守护进程,大多数服务器都是用守护进程实现的。比如,网络服务inetd、Web服务http等。同时,守护进程完成许多系统任务。比如,作业规划进程crond、打印进程lqd等。这里主要说明守护进程的进程结构,以及如何编写守护进程程序

心如止水--coofucoo的专栏 8406

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

linux下守护进程编写,Linux下后台守护进程的编写实例

Linux下后台守护进程的编写实例tongxin | 2009-04-12 16:58:07 阅读:2357 发布文章相信随着Linux的普及,大家都在写不少Linux下的程序了,尤其是一些服务端程序慢慢地都转到Linux下了吧。大家必然碰到问题是如何让自己的进程成为守护进程,在系统启动的时候运行,并且永远是后台进程。下面就写一个这样的程序了。源代码如下:%A //////...

weixin_42509196的博客 169

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

编写daemon守护进程

编写daemon守护进程 如何编写daemon守护进程?? 1.   调用fork()函数创建子进程后,让父进程立即exit(),这样产生的子进程变成孤儿进程,由init进程接管。 2.   调用setsid()函数,使得新创建的进程脱离控制终端,同时创建新的进程组,并成为该进程组的首进程。在linux系统中,所有的进程都属于各自的进程组,进程组是一个或多个进程的集合,一个进程组中至少有一个

chenglinhust的专栏 1038

Linux中编写简单的守护进程

1、守护进程概述 守护进程就是通常所说的daemon进程,他是linux中的后台服务进程。他是一个生存期很长的进程,通常独立于控制终端并且周期性的执行某种任务,或等待处理魔种发生的事件。守护进程通常在系统开机启动时开始执行,在系统关闭时终止。linux中很多服务器都是通过守护进程实现的。 由于在linux中,每一个系统与用户进行交流的界面成称为终端。每一个从终端开始执行的进程都会依赖于终端,这...

David_361的博客 2737

在systemd下如何编写我们的守护进程,利用systemd管理我们的守护进程

前言:在sysv init与upstart方式下,我们编写守护进程的方法可参见我写的其它文章,但思想与方法来源都是那本圣经《unix环境高级编程》,基本思路就是两次fork,调用setsid()脱离终端(如果有的话),标准输出入、标准输出、标准出错重定向等等;      最近的一些linux distribution开始采用systemd作为sysv init和upstart的替代,如果我们想让

7100

linux上编写守护进程的例程

linux上编写守护进程的例程  摘自《开放系统世界》2004年第5期郭吉平、任莲的文章“亲自动手编写守护进程”。 /*郭吉平、任莲 亲自动手编写守护进程*/#include #include #include void main(int argc, char ** argv){time_t now;int childpid, fd, fdtablesize;int error, in,

最实用的Linux博客 2809

Linux下守护进程编写及将守护进程添加至服务

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数..

m0_50075609的博客 2483
上一篇: Linux 系统调用号
下一篇: IIC和SPI
CharyPro
博客等级 码龄11年 21粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值