首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux守护进程

二、守护进程 1. 什么是守护进程 守护进程,也叫做精灵进程Daemon,是Linux后台服务进程,通常独立于控制终端并且周期性执行某种任务或等待处理某些发生事件,一般使用d结尾名字。...Linux后台一些系统服务进程,没有控制终端,不能直接和用户交互,不受用户登录、注销影响,一直在运行着,这些就是守护进程,比如,预读入缓输出机制实现,ftp服务器,nfs服务器等等。...创建一个守护进程最关键一步是调用setsid函数创建一个新session,并成为session leader。 通过 ps aux 可以查看进程是否有依靠终端,?...⑤ 关闭文件描述符 继承打开文件不会用到,浪费系统资源,无法卸载。这一步也是非必要,主要是考虑资源合理利用。 ⑥ 开始执行守护进程核心工作 ⑦ 守护进程退出处理程序模型(非必要) 3....一般我们后台执行程序时是这样用 nohup ./a.out > file.log & 这样运行程序就是一个守护进程,也可以达到上面那样创建守护进程效果。

14610

linux守护进程

1、什么是守护进程 守护进程是运行在后台一种特殊进程,它独立于控制终端并且周期性地执行某种任务或循环等待处理某些事件发生; 守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机才随之一起停止运行...; 守护进程一般都以root用户权限运行,因为要使用某些特殊端口或者资源; 守护进程进程一般都是init进程,因为它真正进程在fork出守护进程后就直接退出了,所以守护进程都是孤儿进程,由init...接管; 2、有哪些常见守护进程 日志服务进程 syslogd 数据库守护进程 mysqld 3、创建守护进程步骤 1)fork()创建子进程,父进程exit()退出 这是创建守护进程第一步。...因此从终端输入字符不可能达到守护进程守护进程中用常规方法(如printf)输出字符也不可能在终端上显示出来。...所以,文件描述符为0、1和2 3个文件(常说输入、输出和报错)已经失去了存在价值,也应被关闭。 7)守护进程退出处理 当用户需要外部停止守护进程运行时,往往会使用 kill 命令停止该守护进程

3.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux守护进程启动方法

    这篇文章主要为大家详细介绍了Linux守护进程启动方法,本文介绍如何将一个 Web 应用,启动为守护进程,感兴趣小伙伴们可以参考一下 "守护进程"(daemon)就是一直在后台运行进程(daemon...变成守护进程第一步,就是把它改成"后台任务"(background job)。 $ node server.js & 只要在命令尾部加上符号&,启动进程就会成为"后台任务"。...可以看到,"后台任务"与"前台任务"本质区别只有一个:是否继承标准输入。所以,执行后台任务同时,用户还可以输入其他命令。 三、SIGHUP信号 变为"后台任务"后,一个进程是否就成为了守护进程呢?...Linux系统是这样设计。...四、disown 命令 通过"后台任务"启动"守护进程"并不保险,因为有的系统huponexit参数可能是打开(on)。 更保险方法是使用disown命令。

    4.5K00

    Linux 守护进程启动方法

    "守护进程"(daemon)就是一直在后台运行进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 一、问题由来 Web应用写好后,下一件事就是启动,让它一直在后台运行。...变成守护进程第一步,就是把它改成"后台任务"(background job)。 $ node server.js & 只要在命令尾部加上符号&,启动进程就会成为"后台任务"。...Linux系统是这样设计。...四、disown 命令 通过"后台任务"启动"守护进程"并不保险,因为有的系统huponexit参数可能是打开(on)。 更保险方法是使用disown命令。...# 启动web界面 http://localhost:9615 $ pm2 web 十、Systemd 除了专用工具以外,Linux系统有自己守护进程管理工具 Systemd 。

    4.5K50

    Linux 守护进程启动方法

    Linux 守护进程启动方法 “守护进程”(daemon)就是一直在后台运行进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。...变成守护进程第一步,就是把它改成”后台任务”(background job)。 $ node server.js & 只要在命令尾部加上符号&,启动进程就会成为”后台任务”。...Linux系统是这样设计。...四、disown 命令 通过”后台任务”启动”守护进程”并不保险,因为有的系统huponexit参数可能是打开(on)。 更保险方法是使用disown命令。...# 启动web界面 http://localhost:9615 $ pm2 web 十、Systemd 除了专用工具以外,Linux系统有自己守护进程管理工具 Systemd 。

    5K81

    Linux守护进程编程实现

    大家好,又见面了,我是全栈君 Linux 守护进程编程方法 守护进程(Daemon)是执行在后台一种特殊进程。它独立于控制终端而且周期性地执行某种任务或等待处理某些发生事件。...守护进程是一种非常实用进程Linux大多数server就是用守护进程实现。比方,Internetserverinetd,Webserverhttpd等。同一时候,守护进程完毕很多系统任务。...这须要读者注意,照搬某些书上规则(特别是BSD4.3和低版本号System V)到Linux会出现错误。以下将全面介绍Linux守护进程编程要点并给出具体实例。 一....脱离控制终端,登录会话和进程组 有必要先介绍一下Linux进程与控制终端,登录会话和进程组之间关系:进程属于一个进程组,进程组号(GID)就是进程组长进程号(PID)。...假设父进程等待子进程结束,将添加父进程负担,影响server进程并发性能。在Linux下能够简单地将SIGCHLD信号操作设为SIG_IGN。

    2.4K20

    详解Linux守护进程

    一、什么是守护进程 Linux系统启动时会启动很多系统服务进程,这些系统服 务进程没有控制终端,不能直接和用户交互。...守护进程也被称为精灵进程,是运行在后台一种特殊进程,它独立于控制终端并且周期性地执行某种任务或等待处理某些发生事件。 查看方式 ps axj命令:查看系统中进程。...二、守护进程调用 创建守护进程最关键⼀步是调⽤setsid函数创建⼀个新会话,并成为会话leader。...成功创建并调用一个守护进程标志是: 1、成功新建一个会话,当前进程成为该会话leader,该会话ID为当前进程ID; 2、成功新建一个新进程组,并且成为该组组长,该进程组id即为当前进程...只有确定会话首进程能打开终端设备,也就是再fork一次,再把父进程退出,再次fork进程作为守护进程继续运行,保证了该精灵进程不是对话期进程

    3.8K43

    Linux进程间关系与守护进程

    --- 乌龟大师 《功夫熊猫》--- 进程间关系与守护进程 1 进程组 2 会话 3 控制终端 4 作业控制 5 守护进程 1 进程组 之前我们提到了进程概念, 其实每一个进程除了有一个进程 ID...每当我们通过Xshell客户端正确登录到Linux系统后,系统会给我们创建一个终端文件,并且配套一个bash进程进程形式)!我们写命令写入到终端文件,然后通过bash进程执行在返回结果。...4 作业控制 作业在Linux环境中,是指为完成用户指定任务而启动一组进程。一个作业可能仅包含单一进程,也可能由多个相互协作进程构成,这些进程通常通过管道机制进行通信。...5 守护进程 守护进程,又称为Daemon:守护进程是一种在操作系统后台运行进程,它通常在系统启动时开始运行,并在系统关闭时终止。它独立于任何控制终端,不会因为用户登录或注销而受到影响。...守护进程通常用于执行系统级别的任务,如网络服务、系统监控、日志记录等,它们默默地工作,不需要用户直接交互,确保了系统服务持续性和稳定性。 那么守护进程是怎么实现

    12010

    Linux 守护进程|应急响应

    最近被安排做一些应急响应工作,所以学习了一下Linux进程相关知识,越学越多,那就记下来吧!...在Linux中: 打开terminal,也就是终端程序,之后可以获得一个shell 通过ssh连接到linuxssh-server 服务器,也可以获得一个shell 通常我们都是通过以上两种方式来获得一个...进程进程概念大家都能理解的话,进程组就很好说了,其实就是一堆进程捆一起了,之后形成一个组就叫进程组了 这么做肯定是有意义,不然Linux也不会这么搞,主要还是为了方便管理。...可以看到,杀掉了bash进程后,ssh链接就断开了 守护进程(daemon) 守护进程这个词经常听到,名字还挺温暖,遗憾是总是在处理linux挖矿病毒案例中听到,简直破坏美感 守护进程一个特点就是进程不受任何终端控制...,而以kthreadd内核进程创建守护进程以kthreadd为父进程 守护进程一般是会话首进程、组长进程

    3.8K30

    Daemontools使用( Linux守护进程管理)

    前言 Daemontools是一个在linux上可以进行守护进程管理工具,当我们有一些程序需要常驻后台,万一不小心挂掉了他可以帮我们重启服务....,就可以开始使用了,我们模拟一种简单使用场景....首先我们有一个服务想要部署,那么在我们习惯地方建立文件夹,放进入我们jar包,log文件等等.比如在~/test下. ?.../,即启动当前目录下服务.然后持续观察log,会发现,Daemontools将run脚本无限次执行下去,所以log中会不断循环打印1-49....-x : exit, supervise在services停止后会立刻退出, 但是值得注意是,如果你在一个稳定系统中使用了这个选项,你已经开始犯错了:supervise被设计成为永远运行

    4.1K40

    Linux内核编程--进程组和守护进程

    示意图 守护进程 守护进程概念 守护进程是运行在操作系统后台特殊进程,且守护进程和控制终端(比如xshell界面)是隔离。...操作系统中常见守护进程分类: 系统守护进程:syslogd、login、crond、at等。 网络相关守护进程:sendmail、httpd、xinetd等。...独立启动守护进程:httpd、named、xinetd等。 守护进程创建方式: 让一个普通进程变成守护进程操作步骤: Step.1 调用fork( )。...(1); fprintf(fp, "%d", i); i++; } fclose(fp); return (0); } 运行结果: 常用Linux...查询被进程ID对应进程打开文件:lsof -p 1000 查看进程内存情况:pmap PID 样例: 参考阅读: 《UNIX环境高级编程第3版》 《Linux C++ 通信架构实战》 《UNIX

    3K20

    linux spervisor监控进程,设置守护

    Supervisord是用Python实现一款进程管理工具,supervisord要求管理程序是非守护程序,supervisord会帮你把它转成daemon程序,因此如果用supervisord...来管理进程进程需要以非daemon方式启动。...即进程启动时候需要是非守护进程方式启动。 例如:管理nginx的话,必须在nginx配置文件里添加一行设置daemon off让nginx以非守护进程方式启动。...它负责在自己调用中启动子程序,响应来自客户端命令,重新启动崩溃或退出进程,记录其子进程stdout和stderr 输出,以及生成和处理与子进程生命周期中点相对应“事件”。...从 supervisorctl,用户可以连接到不同 supervisord进程(一次一个),获取由子进程控制状态,停止和启动子进程,并获取supervisord运行进程列表。

    2.6K40

    Linux守护进程理解(2)

    从父进程继承过来的当前工作目录可能在一个装配文件系统中。因为守护进程通常在系统重启之前是一直存在,所以如果守护进程的当前工作目录在一个装配文件系统中,那么该文件系统就不能被拆卸。...另外,某些守护进程可能会把当前工作目录更改到某个指定位置,在此位置做它们工作。例如,行式打印机假脱机守护进程常常将其工作目录更改到它们spool目录上。...8、记录信息 在Linux/Unix下有个syslogd守护进程,向用户提供了syslog()系统调用。任何程序都可以通过syslog记录事件。 ...因为守护进程通常在系统重启之前是一直存在,所以如果守护进程的当前工作目录在一个装配文件系统中,那么该文件系统就不能被卸载。比如说从父进程继承的当前目录是/mnt下面的一个被挂载目录。     ...signal(SIGCHLD,SIG_IGN);     //守护进程不属于任何终端,所以当需要输出某些信息时,它无法像一般程序那样将信息直接输出到终端,可以使用linux中自带syslogd守护进程

    2.6K30

    linux下如何创建守护进程步骤

    这两天学习了linux 守护进程这个地方知识点挺多,而且很重要,所以,今天添加一点小笔记。 1,进程概念:程序一次动态执行过程。...2,进程类型:交互进程,批处理进程守护进程 3,守护进程Linux后台服务进程,daemon进程 4,守护进程创建步骤: (1)创建子进程,父进程退出。...由于守护进程在后台运行,开始于系统开启,终止于系统关闭,所以要将其目录改为系统根目录下。进程在执行时,其文件系统不能被卸下。 (4)重新设置文件权限掩码。...在这里要用到getdtablesize()函数得到这个进程打开文件数目。 按照上面的步骤即可完成守护进程创建。...具体代码如下,守护进程功能写较为简单,往文件里写东西: #include #include #include #include

    4.3K21

    守护进程

    守护进程(daemon)是一类在后台运行特殊进程,用于执行特定系统任务。很多守护进程在系统引导时候启动,并且一直运行直到系统关闭。另一些只在需要时候才启动,完成任务后就自动结束。...守护进程是一个在后台运行并且不受任何终端控制进程。这也是守护进程最重要特点。在Linux下创建守护进程步骤如下。...创建子进程,终止父进程 这是因为守护进程是脱离终端控制,所以要造成一种在终端里已经运行完假象,把所有的工作都放在子进程中去完成。父进程退出后,子进程变成孤儿进程。...重设文件掩码 由于通过fork函数创建进程继承了父进程文件掩码,这就给该子进程使用文件带来了诸多麻烦。因此,把文件创建掩码设置为0,可以大大增强该守护进程灵活性。...、 下面是在Linux系统下创建守护进程一个简单示例。

    1.9K10

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券