[摘要] Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序。本文简单介绍一下supervise的安装和使用。
[关键字]
Linux 进程管理 Supervise
Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序。本文简单介绍一下supervise的安装和使用。
一、 安装
创建
/pacakage目录(你可以创建任意目录,这里使用package只是为了保持与英文作者的一致):
mkdir -p /package
chmod 1755 /package
cd /package
下载daemontools-0.76.tar.gz到/package目录,解压该包。
tar xvzf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
编译并安装daemontools程序
package/install
二、使用supervise程序进行程序管理监控
supervise的执行命令是supervise Path ,其中Path 是指定路径,可以是相对路径,也可以是绝对路径。在Path路径下,必须有一个run的脚本,supervise调用的就是这个脚本,并监控管理该脚本中运行的程序。
supervise的一个重要的功能就是可以检测出run脚本中执行的程序是否正常工作,若发现其已经死掉,supervise将会重新执行run脚本,重新启动指定程序。这对于很多服务端程序来说是十分必要的,没有人愿意在深夜2点的时候从被窝里爬出来重新启动服务器。
下面是一个简单使用supervise的例子。
三、例子
假定已经安装好daemontools,建立一个test目录,进入该目录
mkdir test
cd test
在该目录下写一个简单测试程序test.c:
#include #include int main() { int ix = 0; for(;; ix++) { printf("%d\n", ix); sleep(1); } return 0; }
编译test.c输出为test。
gcc -o test test.c
编写一个脚本run,来执行test程序,以便supervise进行调用。
#!/bin/sh echo "start test!" ./test
退到上级目录,执行 supervise test 看看效果:
cd ..
supervise test
执行killall -9 test,杀死test进程,你会发现supervise会重新启动test进程。当然如果程序core dump,supervise同样会重新启动程序。
分享到:
相关推荐
`supervise` 是一个源于 `daemontools` 工具集的重要组件,特别适用于Unix类操作系统,如Linux、BSD等。它的主要功能是持续监控并管理后台应用程序的运行状态,确保服务的稳定性和可靠性。当被监控的应用程序意外...
supervise 二进制文件,运行命令 ./supervise -f 要守护的程序 -p 守护信息存储位置
概括这以最小且无特权的可执行文件“监督”的形式,为Linux上的流程管理和监督提供了出色的API。 supervise旨在用作您执行的子进程的包装。 因此,supervise设计为仅在有事件要处理时才唤醒,否则不占用任何CPU时间...
"supervise_api"这个名字暗示了它的主要功能可能与进程管理、服务监控以及API交互有关。在分布式系统中,进程管理是一个关键环节,它涉及到如何启动、停止、监控以及恢复服务。"supervise_api"很可能提供了一套接口...
### 基于qmail的Linux下的邮件系统 #### 性能简介与功能特性 根据提供的文件信息,本文档将详细介绍基于qmail构建的Linux邮件系统的功能与特性,并且涵盖安装部署过程中的关键步骤。 ##### 功能概览 1. **多虚拟...
API管理通常包括创建、测试、监控和保护API的过程。因此,`supervise_api`可能包含了用于测试API性能、跟踪调用、处理错误、安全控制等功能的模块。 在0.5.0版本中,我们可以期待这个库可能已经过了一些优化和改进...
qmail是一款高效、安全的邮件服务器软件,广泛应用于Linux和Solaris操作系统。本文将详细介绍如何在这些系统中安装qmail及其相关组件,包括ucspi-tcp、tcpserver、daemontools、checkpassword、ezmlm、vpopmail、...
基于alpine系统构建docker镜像,实现可配置和易于管理的docker镜像。 项目简介 提供非常小的docker镜像。 提供易于配置的docker镜像。 提供非常稳定的docker镜像。 使用docker镜像快速启用微服务架构。 使用docker...
标题 "heartbeat3" 指的是Heartbeat软件的第三版,这是一个开源的高可用性(High Availability, HA)解决方案,主要用于在Linux系统上构建双机集群。Heartbeat的主要任务是监控系统服务的状态,并在主节点发生故障时...
监督学习的核心在于学习过程中的“监督”,它通过已知的输入-输出对(也称为特征-标签对)指导模型的学习。在训练阶段,模型尝试找出输入特征与相应输出标签之间的关系,以便在测试或部署时,面对新的输入,模型能...
在提供的压缩文件"Supervise Desktop Mini.EXE"中,可能包含了一个轻量级的桌面管理工具。这类工具通常体积小巧,易于安装和使用,旨在简化用户的桌面管理。通过运行这个程序,用户可以享受到上述图标管理功能,提升...
线程监控工具V0.0.2是一款专为IT专业人士设计的应用,由王博毅开发,旨在帮助用户实时监控和管理计算机上的进程。这个工具具备高效且实用的功能,能够确保系统稳定运行,防止因进程异常结束导致的问题。下面将详细...
和linux下视频服务器交互,实时监控,此工程在windows下SDL显示。
压缩包内的文件“Supervise Desktop Mini.EXE”很可能就是这款桌面快捷方式管理工具的可执行程序,用户运行这个文件就可以启动并使用该工具。而“飘荡软件.url”则可能是一个指向该软件官方网站或下载页面的快捷链接...
系统集商品进销存、人员收支费用、人员工资和总会计核算为一体的简单通用的企业管理系统,即“Enterprise Currency Supervise System”简称ECSS。 软件架构:VFP9+MSSQL2000。 其他软件:Microsoft Office 2003...
危机管理是企业在面临突发性事件时,通过有效的策略和行动来预防、控制和恢复的全过程。危机可以是产品质量问题、舆论风波、自然灾害或是人为操作失误等,这些事件都可能导致企业声誉受损、经济损失甚至生存威胁。...
This folder contains Matlab programs for a toolbox for supervised speech separation using deep neural networks (DNNs).zip
AJAX(Asynchronous JavaScript and XML)是另一个关键概念,它允许页面在不刷新的情况下与服务器进行异步通信。通过XMLHttpRequest对象或现代浏览器提供的fetch API,你可以实现数据的后台加载,提高用户体验。 ...
The Lottery Tickets Hypothesis for Supervised and Self-Supervised Pre-Training in Computer Vision Models