当前位置:首页 » 操作系统 » linux以守护进程启动

linux以守护进程启动

发布时间: 2024-11-02 03:00:55

linux守护进程管理神器-supervisor

supervisor是一款由Python开发的进程管理工具,其核心功能在于通过服务端supervisord管理子进程,提供启动、关闭、重启和查看进程状态的能力。

这款工具的独特之处在于能够通过Web界面直观地监控并控制进程状态,用户可以在Web页面上轻松地启动或停止服务。为了更直观地理解supervisor的作用,下图展示了如何通过它对服务器上的一些agent进行管理,以及对一些web服务进程进行监控,同时查看了简单的启动日志。

安装方面,由于supervisor是用Python编写的,因此使用pip工具安装最为便捷。对于CentOS系统,用户也可以选择通过yum来安装,但推荐使用pip以获取最新的版本和最佳兼容性。

对于希望确保服务在服务器异常宕机后能够快速恢复的用户,开启开机启动功能尤为重要。虽然通过pip或yum安装能够实现基础的安装流程,但为了实现开机启动,还需要进行额外的配置步骤。

配置过程包括服务端配置和子进程配置文件的创建与调整。服务端配置文件通常包含了一些默认设置,例如,web服务默认状态为关闭。用户可以根据实际需求,如内网服务的使用场景,决定是否开启web服务。子进程配置文件则在目录/etc/supervisord.d/*.ini中存放,这部分配置文件尤为关键,直接决定了子进程的行为和属性。

以node_exporter为例,其配置文件可以展示如何添加环境变量以及调整特定参数。用户还可以根据需要访问supervisord.org网站,查阅更多详细配置选项和最佳实践。

在实际使用中,掌握命令操作是高效管理进程的关键。用户可以通过执行`--help`命令了解特定命令的帮助文档,从而快速获取所需信息。对于日常操作而言,`supervisorctl`命令是执行进程控制操作的常用工具。

为了简化管理流程,用户可以将`supervisorctl`命令直接输入终端,进入交互式控制界面,从而直接执行各种管理命令,如启动、停止、重启进程,或查看进程状态等。

㈡ 如何以守护进程在linux系统下执行

编写守护进程程序的要点:
(1)让程序在后台执行。方法是调用fork()产生一个子进程,然后使父进程退出。
(2)调用setsid()创建一个新对话期。控制终端、登录会话和进程组通常是从父进程继承下来的,守护进程要摆脱它们,不受它们的影响,方法是调用setsid()使进程成为一个会话组长。setsid()调用成功后,进程成为新的会话组长和进程组长,并与原来的登录会话、进程组和控制终端脱离。
(3)禁止进程重新打开控制终端。经过以上步骤,进程已经成为一个无终端的会话组长,但是它可以重新申请打开一个终端。为了避免这种情况发生,可以通过使进程不再是会话组长来实现。再一次通过fork()创建新的子进程,使调用fork的进程退出。
(4)关闭不再需要的文件描述符。子进程从父进程继承打开的文件描述符。如不关闭,将会浪费系统资源,造成进程所在的文件系统无法卸下以及引起无法预料的错误。首先获得最高文件描述符值,然后用一个循环程序,关闭0到最高文件描述符值的所有文件描述符。
(5)将当前目录更改为根目录。
(6)子进程从父进程继承的文件创建屏蔽字可能会拒绝某些许可权。为防止这一点,使用unmask(0)将屏蔽字清零。
(7)处理SIGCHLD信号。对于服务器进程,在请求到来时往往生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(zombie),从而占用系统资源。如果父进程等待子进程结束,将增加父进程的负担,影响服务器进程的并发性能。在Linux下可以简单地将SIGCHLD信号的操作设为SIG_IGN。这样,子进程结束时不会产生僵尸进程。

热点内容
php长链接 发布:2024-11-23 07:41:40 浏览:753
linuxdump 发布:2024-11-23 07:06:05 浏览:393
差距的算法 发布:2024-11-23 06:48:09 浏览:884
hmcl离线服务器怎么装皮肤 发布:2024-11-23 06:42:49 浏览:230
各型缓存器年额最高多少 发布:2024-11-23 06:42:43 浏览:62
光谱特征编译 发布:2024-11-23 06:19:46 浏览:893
怎样拍视频上传 发布:2024-11-23 06:15:39 浏览:904
创建个存储过程 发布:2024-11-23 06:15:35 浏览:378
市场配置资源的主体地位如何理解 发布:2024-11-23 06:13:48 浏览:729
单循环编程题 发布:2024-11-23 06:09:04 浏览:564