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

Linux 守护进程的启动方法

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

4.5K50

Linux守护进程的启动方法

这篇文章主要为大家详细介绍了Linux守护进程的启动方法,本文介绍如何将一个 Web 应用,启动为守护进程,感兴趣的小伙伴们可以参考一下 "守护进程"(daemon)就是一直在后台运行的进程(daemon...怎么才能让它变成系统的守护进程(daemon),成为一种服务(service),一直在那里运行呢? 二、前台任务与后台任务 上面这样启动的脚本,称为"前台任务"(foreground job)。...变成守护进程的第一步,就是把它改成"后台任务"(background job)。 $ node server.js & 只要在命令的尾部加上符号&,启动的进程就会成为"后台任务"。...三、SIGHUP信号 变为"后台任务"后,一个进程是否就成为了守护进程呢?或者说,用户退出 session 以后,"后台任务"是否还会继续执行? Linux系统是这样设计的。...四、disown 命令 通过"后台任务"启动"守护进程"并不保险,因为有的系统的huponexit参数可能是打开的(on)。 更保险的方法是使用disown命令。

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

    Linux 守护进程的启动方法

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

    5K81

    linux守护进程

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

    3.1K20

    Linux守护进程

    主要特征: 长期运行:守护进程通常在系统启动时启动,并会持续运行,直至系统关闭或被强行终止。与普通进程不同,普通进程在用户登录或运行程序时创建,并在任务完成后或用户注销时终止。...守护进程不受用户登录状态的影响,这使得它们能够在不需要用户交互的情况下稳定地执行任务。 与控制终端脱离:在 Linux 系统中,每个从终端启动的进程都与该终端绑定。...守护进程在 Linux 系统中极为重要,它们是许多服务器的核心组成部分,例如 Internet 服务器 inetd 和 Web 服务器 httpd。...这一过程实现了以下几点: 如果守护进程是通过简单的 shell 命令启动,父进程的退出将使 shell 认为命令已执行完毕。...使用 syslog 系统日志服务记录进程启动、关闭等信息。 信号处理 (handle_signal): 通过 signal() 函数捕获 SIGTERM 和 SIGHUP 信号。

    16510

    Linux守护进程

    二、守护进程 1. 什么是守护进程 守护进程,也叫做精灵进程Daemon,是Linux中的后台服务进程,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件,一般使用d结尾的名字。...Linux后台的一些系统服务进程,没有控制终端,不能直接和用户交互,不受用户登录、注销的影响,一直在运行着,这些就是守护进程,比如,预读入缓输出机制的实现,ftp服务器,nfs服务器等等。...如何创建守护进程模型 ① 创建子进程,父进程退出 所有工作在子进程中进行,形式上脱离了控制终端。...⑥ 开始执行守护进程的核心工作 ⑦ 守护进程退出处理程序模型(非必要) 3..../a.out > file.log & 这样运行的程序就是一个守护进程,也可以达到上面那样创建守护进程的效果。

    19010

    【Linux】进程间关系与守护进程

    控制终端是保存在 PCB 中的信息,我们知道 fork 进程会复制 PCB中的信息,因此由 Shell 进程启动的其它进程的控制终端也是这个终端。...如果我们直接调用setsid()是行不通的,必须得首先创建子进程,并且退出父进程,这样很费力,所以Linux给我们提供了一个一劳永逸的接口,不需要你创建子进程,因为其函数内部就已经做了处理 Daemon...如果更改,守护进程的目录就会切换为根目录,如果不更改,则在启动时的路径下。 nocliose参数:是否需要进行输入输出的处理。   ...Linux每个终端下都会存在一个null文件:/dev/null,如果去读取这个文件,文件内是没有任何内容的,如果对该文件进行写,同样也不会保存任何信息,而是立刻丢弃。...如果我们查看守护进程的工作目录:   可以看到,守护进程当前工作目录实际上就是在根目录,如果我们同时查看该守护进程的文件fd就会发现:   由此可见,daemon接口的两个参数实际上是bool值类型的

    12510

    【Linux】:进程间关系 与 守护进程

    作业是针对用户来讲,用户完成某项任务而启动的进程 一个作业既可以只包含一个进程,也可以包含多个进程,进程之间互相协作完成任务, 通常是一个进程管道(之前上面有演示的) Shell 分前后台来控制的不是进程...个 命令行启动任何进程,bash 会自动变成后台,直到前台进程接收 3....补充一句,在 Linux 中我们一般使用 ps 命令查看进程的,如下: $ ps -o pid,ppid,pgid,sid,comm # 输出 PID PPID PGID...控制终端是保存在 PCB 中的信息,我们知道 fork 进程会复制 PCB中的信息,因此由 Shell 进程启动的其它进程的控制终端也是这个终端。...> 并列关系,此后就不受退出登录的影响,此时就是一个独立的会话 守护进程 就是这样的, 守护进程也属于后台进程的一种,但是两者有个本质区别 后台进程仍然属于这个会话,而守护进程属于自己独立的会话 守护进程

    5510

    【Linux】进程间关系与守护进程

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

    12810

    Linux 守护进程|应急响应

    最近被安排做一些应急响应的工作,所以学习了一下Linux进程相关的知识,越学越多,那就记下来吧!...大家都知道,此时我们启动了一个程序 ping ,并且创建了一个进程,我们再开一个终端ssh连接这个服务器看一下 ?...可以看到,杀掉了bash进程后,ssh链接就断开了 守护进程(daemon) 守护进程这个词经常听到,名字还挺温暖,遗憾的是总是在处理linux挖矿病毒的案例中听到,简直破坏美感 守护进程的一个特点就是进程不受任何终端控制...不受任何终端控制这个定义似乎有些模糊,所以我试图去找到一些限定条件,大部分人是这样说的: 随系统启动而启动 父进程是init,也就是ppid为1 在后台运行 进程名字通常以字母 d 结束 ps显示中终端名设置为问号...,而以kthreadd内核进程创建的守护进程以kthreadd为父进程 守护进程一般是会话首进程、组长进程。

    3.9K30

    【Linux网络编程】:守护进程,前台进程,后台进程

    1.守护进程 1.1前台进程??后台进程??守护进程?? 如果我们在Xshell上启动一个服务器程序,正常情况下是前台进程,加上&会变成后台进程。...1.3前台进程,后台进程,守护进程的区别: 特性 前台进程 后台进程 守护进程 终端依赖 必须绑定终端(TTY) 可脱离终端(但属于当前会话session) 完全脱离终端和会话session 用户交互...1.守护进程脱离终端,是网络进行IO。 2.守护进程是孤儿进程。...4.如何让进程变成守护进程: #include int daemon(int nochdir, int noclose); 自动变成守护进程。...问题1: 进程组的组长不能变成守护进程 创建子进程,父进程退出,子进程向后运行,子进程就不是进程组组长了。 问题2: 因为守护进程没有与终端关联,没有输入,输出。

    9710

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

    守护进程没有控制终端通常源于它们由系统初始化脚本启动,然而守护进程也可能从某个终端由用户在shell提示符下键入命令行启动,这样的守护进程必须亲自脱离于控制终端的关联,从而避免与作业的控制、终端会话管理...守护进程的特点: 无需控制终端 运行在后台 一般随操作系统启动和关闭 守护进程运行在后台,但是和后台进程有一定区别: (1)守护进程和终端不挂钩,不向终端输出内容(信息),但后台进程是能向终端输出内容的...(2)守护进程在关闭终端(比如Xshe11)的时候不会受到影响,而后台进程将在终端关闭后自动退出。 守护进程的启动方式: 1.在系统启动阶段,由系统初始化脚本启动。...由这些脚本启动的守护进程一开始时拥有超级用户权限。...独立启动的守护进程:httpd、named、xinetd等。 守护进程的创建方式: 让一个普通进程变成守护进程的操作步骤: Step.1 调用fork( )。

    3K20

    Linux守护进程的编程实现

    大家好,又见面了,我是全栈君 Linux 守护进程的编程方法 守护进程(Daemon)是执行在后台的一种特殊进程。它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件。...守护进程是一种非常实用的进程。Linux的大多数server就是用守护进程实现的。比方,Internetserverinetd,Webserverhttpd等。同一时候,守护进程完毕很多系统任务。...这须要读者注意,照搬某些书上的规则(特别是BSD4.3和低版本号的System V)到Linux会出现错误的。以下将全面介绍Linux下守护进程的编程要点并给出具体实例。 一....这些环境包含未关闭的文件描写叙述符,控制终端,会话和进程组,工作文件夹以及文件创建掩模等。这些环境一般是守护进程从执行它的父进程(特别是shell)中继承下来的。最后,守护进程的启动方式有其特殊之处。...它能够在Linux系统启动时从启动脚本/etc/rc.d中启动,能够由作业规划进程crond启动,还能够由用户终端(一般是shell)执行。

    2.4K20

    linux spervisor监控进程,设置守护

    Supervisord是用Python实现的一款的进程管理工具,supervisord要求管理的程序是非守护程序,supervisord会帮你把它转成daemon程序,因此如果用supervisord...来管理进程,进程需要以非daemon的方式启动。...即进程启动的时候需要是非守护进程的方式启动。 例如:管理nginx的话,必须在nginx的配置文件里添加一行设置daemon off让nginx以非守护进程方式启动。...rc.d脚本是进程初始化/自动启动/管理的最低通用分母形式,但编写和维护可能会很痛苦。此外,rc.d脚本无法自动重新启动崩溃的进程,并且许多程序在崩溃时无法正常重新启动。...Supervisord将进程作为其子进程启动,并且可以配置为在崩溃时自动重新启动它们。它还可以自动配置为在自己的调用上启动进程。

    2.6K40

    Linux之守护进程理解(2)

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

    2.6K30
    领券