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

什么守护进程

大家好,又见面了,我你们的朋友全栈君。 在了解守护进程之前,需要先知道什么什么终端?什么作业?什么进程组?什么会话?...在 Linux 中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。...守护进程就是一个生存周期较长,独立于控制终端并且周期性执行某种任务的进程。之所以要脱离终端,就是为了防止进程运行过程中被任何终端信息所打断。 所以,要创建守护进程,我们就要将这个进程脱离终端。...会话SID会话手进程的PID。 为什么只能运行一个前台作业?当我们在前台新起了一个作业,shell就被提到了后台,因此shell就没有办法再继续接受我们的指令并且解析运行了。...如果该守护进程有子进程,那么守护进程需要等待子进程退出,否则子进程会变成僵尸进程

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

linux守护进程

1、什么守护进程 守护进程运行在后台的一种特殊进程,它独立于控制终端并且周期性地执行某种任务或循环等待处理某些事件的发生; 守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机才随之一起停止运行...由于守护进程脱离控制终端的,因此,完成第一步后就会在Shell终端里造成程序已经运行完毕的假象。...,就会形成僵尸进程,所以由子进程fork出一个孙进程以后立即退出,孙进程作为守护进程会被init接管,此时无论父进程想做什么都随它了。...因此,通常的做法让"/"作为守护进程的当前工作目录,这样就可以避免上述的问题,当然,如有特殊需要,也可以把当前工作目录换成其他的路径,如/tmp,改变工作目录的常见函数chdir。...由于使用fork函数新建的子进程继承了父进程的文件权限掩码,这就给该子进程使用文件带来了诸多的麻烦。因此,把文件权限掩码设置为0,可以大大增强该守护进程的灵活性。设置文件权限掩码的函数umask。

3K20

Linux 守护进程|应急响应

可以看到,杀掉了bash进程后,ssh链接就断开了 守护进程(daemon) 守护进程这个词经常听到,名字还挺温暖,遗憾的总是在处理linux挖矿病毒的案例中听到,简直破坏美感 守护进程的一个特点就是进程不受任何终端控制...,终端前台进程组ID设置为-1 工作目录为 \ (根) 这其中很明显不完全准确,但是也都是基于实际情况分析出来的,所以我一直在纠结后台进程、nohup起的后台进程守护进程什么关系,直到遇到了这篇文章...,而以kthreadd内核进程创建的守护进程以kthreadd为父进程 守护进程一般会话首进程、组长进程。...说了这么多,还是那一个实际的守护进程出来看一下吧,以sshd为例 ? 因为守护进程PPID为1,而且在单独的进程组、单独的session中,所以PID=PGID=SID,同时终端处值为 ?...中间STAT为Zs的进程是因为我忘了截图,就退出了重新来导致的,不用关注 可以看到的,对于每一个任务,tmux都会创建一个新的session、进程组、进程,这样实现多个进程之间互不影响 至此,关于Linux

3.7K30

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

作业:一个进程组,作业分为前台作业(前台进程组),后台作业(后台进程组) 会话:会话若干进程组的集合。会话有一个前台进程组和多个后台进程组。...fork创建的子进程和父进程在同一个进程组中,进程组的Leader必然该组的第一个进程,所以子进程不可能该组的第一个进程,在子进程中调用setsid就不会有问题了。...示意图 守护进程 守护进程的概念 守护进程运行在操作系统后台的特殊进程,且守护进程和控制终端(比如xshell界面)隔离的。...守护进程的特点: 无需控制终端 运行在后台 一般随操作系统启动和关闭 守护进程运行在后台,但是和后台进程有一定区别: (1)守护进程和终端不挂钩,不向终端输出内容(信息),但后台进程能向终端输出内容的...查询被进程ID对应的进程打开的文件:lsof -p 1000 查看进程内存情况:pmap PID 样例: 参考阅读: 《UNIX环境高级编程第3版》 《Linux C++ 通信架构实战》 《UNIX

2.9K20

Linux 守护进程的启动方法

"守护进程"(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 一、问题的由来 Web应用写好后,下一件事就是启动,让它一直在后台运行。...三、SIGHUP信号 变为"后台任务"后,一个进程是否就成为了守护进程呢?或者说,用户退出 session 以后,"后台任务"是否还会继续执行? Linux系统这样设计的。...用户准备退出 session 系统向该 session 发出SIGHUP信号 session 将SIGHUP信号发给所有子进程进程收到SIGHUP信号后,自动退出 上面的流程解释了,为什么"前台任务...四、disown 命令 通过"后台任务"启动"守护进程"并不保险,因为有的系统的huponexit参数可能打开的(on)。 更保险的方法使用disown命令。...://localhost:9615 $ pm2 web 十、Systemd 除了专用工具以外,Linux系统有自己的守护进程管理工具 Systemd 。

4.4K50

Linux守护进程的启动方法

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

4.4K00

Linux 守护进程的启动方法

Linux 守护进程的启动方法 “守护进程”(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。...三、SIGHUP信号 变为”后台任务”后,一个进程是否就成为了守护进程呢?或者说,用户退出 session 以后,”后台任务”是否还会继续执行? Linux系统这样设计的。...用户准备退出 session 系统向该 session 发出SIGHUP信号 session 将SIGHUP信号发给所有子进程进程收到SIGHUP信号后,自动退出 上面的流程解释了,为什么”前台任务...四、disown 命令 通过”后台任务”启动”守护进程”并不保险,因为有的系统的huponexit参数可能打开的(on)。 更保险的方法使用disown命令。...://localhost:9615 $ pm2 web 十、Systemd 除了专用工具以外,Linux系统有自己的守护进程管理工具 Systemd 。

4.9K81

Linux守护进程的编程实现

大家好,又见面了,我全栈君 Linux 守护进程的编程方法 守护进程(Daemon)执行在后台的一种特殊进程。它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件。...守护进程一种非常实用的进程Linux的大多数server就是用守护进程实现的。比方,Internetserverinetd,Webserverhttpd等。同一时候,守护进程完毕很多系统任务。...这须要读者注意,照搬某些书上的规则(特别是BSD4.3和低版本号的System V)到Linux会出现错误的。以下将全面介绍Linux守护进程的编程要点并给出具体实例。 一....它能够在Linux系统启动时从启动脚本/etc/rc.d中启动,能够由作业规划进程crond启动,还能够由用户终端(一般shell)执行。...总之,除开这些特殊性以外,守护进程与普通进程基本上没有什么差别。因此,编写守护进程实际上把一个普通进程依照上述的守护进程的特性改造成为守护进程

2.4K20

linux spervisor监控进程,设置守护

Supervisord用Python实现的一款的进程管理工具,supervisord要求管理的程序是非守护程序,supervisord会帮你把它转成daemon程序,因此如果用supervisord...即进程启动的时候需要是非守护进程的方式启动。 例如:管理nginx的话,必须在nginx的配置文件里添加一行设置daemon off让nginx以非守护进程方式启动。...Supervisord将进程作为子进程启动,因此它始终知道其子进程的真正上/下状态,并且可以方便地查询此数据。 流程通常需要分组启动和停止,有时甚至“优先顺序”。...服务器进程使用配置文件。这通常位于/etc/supervisord.conf中。此配置文件“Windows-INI”样式配置文件。...= /var/log/supervisord/tornado_server.log loglevel=info 这里启动要配置的参数,请根据自己的项目自定义添加 更改了主管配置文件,需要重启,运行以下指令

2.6K40

Linux守护进程理解(2)

一般来说, 必要的关闭0、1、2三个文件描述符,即标准输入、标准输出、标准错误。因为我们一般希望守护进程自己有一套信息输出、输入的体系,而不是把所有的东西 都发送到终端屏幕上。...从父进程继承过来的当前工作目录可能在一个装配的文件系统中。因为守护进程通常在系统重启之前一直存在的,所以如果守护进程的当前工作目录在一个装配文件系统中,那么该文件系统就不能被拆卸。...8、记录信息 在Linux/Unix下有个syslogd的守护进程,向用户提供了syslog()系统调用。任何程序都可以通过syslog记录事件。 ...因为守护进程通常在系统重启之前一直存在的,所以如果守护进程的当前工作目录在一个装配文件系统中,那么该文件系统就不能被卸载。比如说从父进程继承的当前目录/mnt下面的一个被挂载的目录。     ...signal(SIGCHLD,SIG_IGN);     //守护进程不属于任何终端,所以当需要输出某些信息时,它无法像一般程序那样将信息直接输出到终端,可以使用linux中自带的syslogd守护进程

2.5K30

详解Linux中的守护进程

一、什么守护进程 Linux系统启动时会启动很多系统服务进程,这些系统服 务进程没有控制终端,不能直接和用户交互。...守护进程也被称为精灵进程运行在后台的一种特殊进程,它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。 查看方式 ps axj命令:查看系统中的进程。...二、守护进程的调用 创建守护进程最关键的⼀步调⽤setsid函数创建⼀个新的会话,并成为会话leader。...fork创建的子进程和⽗进程在同⼀个进程组中,进程组的Leader必然该组的第⼀个进程,所以子进程不可能该组的第⼀进程,在子进程中调用setsid就不会有问题了。...成功创建并调用一个守护进程的标志: 1、成功新建一个会话,当前进程成为该会话的leader,该会话的ID为当前进程的ID; 2、成功新建一个新的进程组,并且成为该组的组长,该进程组的组id即为当前进程

3.5K43

守护进程

守护进程(daemon)一类在后台运行的特殊进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。...守护进程一个在后台运行并且不受任何终端控制的进程。这也是守护进程最重要的特点。在Linux下创建守护进程的步骤如下。...创建子进程,终止父进程 这是因为守护进程脱离终端控制的,所以要造成一种在终端里已经运行完的假象,把所有的工作都放在子进程中去完成。父进程退出后,子进程变成孤儿进程。...、 下面Linux系统下创建守护进程的一个简单示例。...他的TTY标志问号(?)。结果如下: ? 当我们不需要的守护进程的在后台继续执行的时候,可以通过kill -9 pid来杀死它。我们可以查看daemon.log文件的内容如下: ?

1.8K10

守护进程

5.1 概念 (1)什么守护进程 Daemon(守护进程运行在后台的一种特殊进程。**它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。...Linux系统的大多数服务器就是通过守护进程实现的。 (2)为什么需要守护进程 守护进程脱离于终端并且在后台运行的进程。...守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。...(3)守护进程实例 常见的守护进程包括系统日志进程syslogd、 web服务器httpd、邮件服务器sendmail和数据库服务器mysqld等。...改变当前目录为根目录,防止占用其他可卸载的文件系统 d.重设文件权限掩码,防止继承的文件创建屏蔽字拒绝某些权限,增加守护进程的灵活性 e.关闭文件描述符 f.守护进程退出处理 ?

1.6K20

守护进程

首先,什么守护进程守护进程一个在后台长期运行并且不受任何终端控制的进程。 其次,为什么需要守护进程?...我们知道linux有许多自带的守护进程,比如syslogd、crond、sendmail等。那用户或开发者自己编写的程序为什么也需要成为守护进程呢? 这主要是因为守护进程的特性。...这一步同样可有可无,如果守护进程觉得有必要,可以这样做。如果确信没有从父进程继承什么文件描述符,或者需要这些继承的文件描述符,就不需要关闭。...} 注意 有很多守护进程的实现是两次调用fork,这样做主要是为了避免僵尸进程的产生。 何为僵尸进程呢? linux里的进程都属于一棵树,树的根结点init(pid为1)。...两次fork 守护进程两次调用fork就是出于僵尸进程的考虑:父进程生成守护进程后,还有其它事情要做,其『人生意义』不止创建守护进程

2.7K40

Linux进程守护,supervisor安装及使用

Linux挂一些Python脚本啥的就离不开进程守护这个东西了,然后了解到supervisor似乎还不错,在网上经过一番折腾及搜索,于是在此总结一下。...Supervisor安装及配置 这里我演示的系统:CentOS Linux release 7.7.1908 (Core) 一、使用yum安装supervisor yum install supervisor...supervisorctl -c supervisor.conf stop [all]|[x] 关闭所有/指定的程序进程 输入supervisorctl进入命令行工具 因为我这台服务器暂不需要挂东西...,所以我切换到我挂了东西的服务器(这是废话,忽略即可) 这里我有两个conf(因为我将配置文件中的ini改成了conf,所以后缀conf)文件,所以会显示有两个任务 可以通过下述指令操作任务:...supervisorctl status:查看所有进程的状态 supervisorctl stop es:停止es supervisorctl start es:启动es supervisorctl restart

2.3K20
领券