首页
学习
活动
专区
工具
TVP
发布

linux守护进程

1、什么是守护进程 守护进程是运行在后台的一种特殊进程,它独立于控制终端并且周期性地执行某种任务或循环等待处理某些事件的发生; 守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机才随之一起停止运行...; 守护进程一般都以root用户权限运行,因为要使用某些特殊的端口或者资源; 守护进程的父进程一般都是init进程,因为它真正的父进程在fork出守护进程后就直接退出了,所以守护进程都是孤儿进程,由init...接管; 2、哪些常见的守护进程 日志服务进程 syslogd 数据库守护进程 mysqld 3、创建守护进程的步骤 1)fork()创建子进程,父进程exit()退出 这是创建守护进程的第一步。...5)在孙进程中调用 umask() 函数,设置进程的文件权限掩码为0 文件权限掩码是指屏蔽掉文件权限中的对应位。比如,个文件权限掩码是050,它就屏蔽了文件组拥有者的可读与可执行权限。...7)守护进程退出处理 当用户需要外部停止守护进程运行时,往往会使用 kill 命令停止该守护进程。所以,守护进程中需要编码来实现 kill 发出的signal信号处理,达到进程的正常退出。

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

Linux 守护进程|应急响应

最近被安排做一些应急响应的工作,所以学习了一下Linux进程相关的知识,越学越多,那就记下来吧!...在Linux中: 打开terminal,也就是终端程序,之后可以获得一个shell 通过ssh连接到linux的ssh-server 服务器,也可以获得一个shell 通常我们都是通过以上两种方式来获得一个...可以看到,杀掉了bash进程后,ssh链接就断开了 守护进程(daemon) 守护进程这个词经常听到,名字还挺温暖,遗憾的是总是在处理linux挖矿病毒的案例中听到,简直破坏美感 守护进程的一个特点就是进程不受任何终端控制...,而以kthreadd内核进程创建的守护进程以kthreadd为父进程 守护进程一般是会话首进程、组长进程。...工作目录为/(根),主要是为了防止占用磁盘导致无法卸载磁盘 守护进程在后台默默提供着服务,但是不接受任何终端的管控,没有标准输入、标准输出、标准错误,比较典型的mysqld, sshd等,当然我们也是可以创建一个守护进程

3.6K30

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

作业:是一个进程组,作业分为前台作业(前台进程组),后台作业(后台进程组) 会话:会话是若干进程组的集合。会话一个前台进程组和多个后台进程组。...如果在调用setsid之前该进程一个控制终端,那么这种联系会被切断。...与控制终端建立连接的会话首进程被称为控制进程。 对于控制终端的会话,同一时刻只能有一个进程组能够称为前台进程组,会话中的其他进程组都是后台进程组。...守护进程的特点: 无需控制终端 运行在后台 一般随操作系统启动和关闭 守护进程运行在后台,但是和后台进程一定区别: (1)守护进程和终端不挂钩,不向终端输出内容(信息),但后台进程是能向终端输出内容的...查询被进程ID对应的进程打开的文件:lsof -p 1000 查看进程内存情况:pmap PID 样例: 参考阅读: 《UNIX环境高级编程第3版》 《Linux C++ 通信架构实战》 《UNIX

2.8K20

Linux守护进程的编程实现

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

2.3K20

Linux 守护进程的启动方法

"守护进程"(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 一、问题的由来 Web应用写好后,下一件事就是启动,让它一直在后台运行。...变成守护进程的第一步,就是把它改成"后台任务"(background job)。 $ node server.js & 只要在命令的尾部加上符号&,启动的进程就会成为"后台任务"。...三、SIGHUP信号 变为"后台任务"后,一个进程是否就成为了守护进程呢?或者说,用户退出 session 以后,"后台任务"是否还会继续执行? Linux系统是这样设计的。...那就是,退出 session 以后,如果后台进程与标准I/O交互,它还是会挂掉。 还是以上面的脚本为例,现在加入一行。...://localhost:9615 $ pm2 web 十、Systemd 除了专用工具以外,Linux系统自己的守护进程管理工具 Systemd 。

4.3K50

Linux守护进程的启动方法

这篇文章主要为大家详细介绍了Linux守护进程的启动方法,本文介绍如何将一个 Web 应用,启动为守护进程,感兴趣的小伙伴们可以参考一下 "守护进程"(daemon)就是一直在后台运行的进程(daemon...变成守护进程的第一步,就是把它改成"后台任务"(background job)。 $ node server.js & 只要在命令的尾部加上符号&,启动的进程就会成为"后台任务"。..."后台任务"两个特点。 继承当前 session (对话)的标准输出(stdout)和标准错误(stderr)。因此,后台任务的所有输出依然会同步地在命令行下显示。...三、SIGHUP信号 变为"后台任务"后,一个进程是否就成为了守护进程呢?或者说,用户退出 session 以后,"后台任务"是否还会继续执行? Linux系统是这样设计的。...四、disown 命令 通过"后台任务"启动"守护进程"并不保险,因为有的系统的huponexit参数可能是打开的(on)。 更保险的方法是使用disown命令。

4.3K00

Linux 守护进程的启动方法

Linux 守护进程的启动方法 “守护进程”(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。...变成守护进程的第一步,就是把它改成”后台任务”(background job)。 $ node server.js & 只要在命令的尾部加上符号&,启动的进程就会成为”后台任务”。...三、SIGHUP信号 变为”后台任务”后,一个进程是否就成为了守护进程呢?或者说,用户退出 session 以后,”后台任务”是否还会继续执行? Linux系统是这样设计的。...那就是,退出 session 以后,如果后台进程与标准I/O交互,它还是会挂掉。 还是以上面的脚本为例,现在加入一行。...://localhost:9615 $ pm2 web 十、Systemd 除了专用工具以外,Linux系统自己的守护进程管理工具 Systemd 。

4.8K81

linux进程间通信方式哪些_高级进程通信方式

只能在父子进程间。经典的形式就是管道由父进程创建,进程fork子进程之后,就可以在父子进程之间使用了。...,子进程关闭读通道;子进程向管道内写入字符串,而父进程从管道中读取字符串并输出。...本文最新内容地址进程间通信方式哪些 参考: 《Unix环境高级编程》 《unix网络编程卷2:进程间通信》 《深入Linux内核架构》 相关阅读: 面试必问:进程和线程什么区别?...关注公众号【编程珠玑】,获取更多Linux/C/C++/Python/Go/算法/工具等原创技术文章。...如发现本站涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

2.3K20

linux spervisor监控进程,设置守护

Supervisord是用Python实现的一款的进程管理工具,supervisord要求管理的程序是非守护程序,supervisord会帮你把它转成daemon程序,因此如果用supervisord...来管理进程进程需要以非daemon的方式启动。...即进程启动的时候需要是非守护进程的方式启动。 例如:管理nginx的话,必须在nginx的配置文件里添加一行设置daemon off让nginx以非守护进程方式启动。...从 supervisorctl,用户可以连接到不同的 supervisord进程(一次一个),获取由子进程控制的状态,停止和启动子进程,并获取supervisord的运行进程列表。...supervisorctl start 进程名 :启动XXX进程 supervisorctl stop 进程名 :停止XXX进程 supervisorctl stop all:停止全部进程,注:start

2.5K40

Linux守护进程理解(2)

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

2.5K30

详解Linux中的守护进程

一、什么是守护进程 Linux系统启动时会启动很多系统服务进程,这些系统服 务进程没有控制终端,不能直接和用户交互。...其它进程都是在用户登录或运行程序时创建,在运⾏结束或⽤户注销时终止,但系统服务进程不受用户登录注销的影响,它们⼀直在运行着。这种进程守护进程。...二、守护进程的调用 创建守护进程最关键的⼀步是调⽤setsid函数创建⼀个新的会话,并成为会话leader。...id; 3、如果当前进程一个控制终端,那么当前进程失去这个控制终端,成为一个无控制终端的进程;所谓失去控制终端是指,原来的控制终端仍然是打开的,仍然可以读写,但只是⼀个普通的打开⽂件⽽不是控制终端了...三、守护进程的创建 1、使用umask将文件模式创建屏蔽字设置为0; 2、调用fork(),父进程退出(exit)。

3.4K43

守护进程

守护进程(daemon)是一类在后台运行的特殊进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。...守护进程是一个在后台运行并且不受任何终端控制的进程。这也是守护进程最重要的特点。在Linux下创建守护进程的步骤如下。...创建子进程,终止父进程 这是因为守护进程是脱离终端控制的,所以要造成一种在终端里已经运行完的假象,把所有的工作都放在子进程中去完成。父进程退出后,子进程变成孤儿进程。...、 下面是在Linux系统下创建守护进程的一个简单示例。...{ close(i); } while(1) //在后台一直运行 { fd = open("/mnt/hgfs/共享文件夹/Linux

1.8K10

守护进程

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

1.6K20

linux查看进程命令哪些linux使用注意事项

进程的意思是程序在一个数据集合上的一次执行的过程,对于linux查看进程来说,相信有些人是不太了解的,下面我们就对linux查看进程一个简单的介绍。...image.png 一、linux查看进程命令哪些? 简单来说,linux查看进程命令很多种,下面我们就介绍比较常见的四种,第一种是top命令,这种命令是可以显示出各个线程的情况。...第二种是ps命令,它是可以查看当前命令进程,使用ps命令,是可以查看到哪些进程正在运行,以及运行的状态是什么样的。第三种是Pstree命令,表现出来的方式主要是树状图,用来展现各个进程中的派生关系。...第四种是Pgrep命令,它主要是用于查找进程,并且可以显示出查找到的进程id。 二、linux使用注意事项 在安装了linux之后,我们也需要去关注一下它的注意事项,我们简单的提一下。...在上面我们已经介绍了linux查看进程命令哪些,以及关于它的一些注意事项,相信大家在阅读完了上面的内容之后,对于linux将会有一个更深的了解,在使用linux的时候就不会有疑惑了。

2.8K30

守护进程

我们知道linux许多自带的守护进程,比如syslogd、crond、sendmail等。那用户或开发者自己编写的程序为什么也需要成为守护进程呢? 这主要是因为守护进程的特性。...这一步的作用两个: 1.非系统守护进程可能是由用户手动执行的,比如在终端shell上执行./nginx。父进程的终止会让shell认为这条命令已经执行完毕。...这一步的作用三个: 1.使进程成为新会话的首进程。 2.使进程成为新进程组的组长。 3.使进程脱离控制终端。(用户登陆终端就会产生一个新的会话,比如ssh telnet等登陆。...这一步的作用三个: 1.修改从父进程继承来的文件屏蔽字,避免父进程原先设置的文件屏蔽字对守护进程来说不合理。...} 注意 很多守护进程的实现是两次调用fork,这样做主要是为了避免僵尸进程的产生。 何为僵尸进程呢? linux里的进程都属于一棵树,树的根结点是init(pid为1)。

2.7K40
领券