`
yangzb
  • 浏览: 3499962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux操作下的进程管理利器 Supervise

阅读更多
[摘要] 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同样会重新启动程序。

附件为我写的测试程序,在colinux中测试过。
分享到:
评论

相关推荐

    supervise绿色版解压可用

    `supervise` 是一个源于 `daemontools` 工具集的重要组件,特别适用于Unix类操作系统,如Linux、BSD等。它的主要功能是持续监控并管理后台应用程序的运行状态,确保服务的稳定性和可靠性。当被监控的应用程序意外...

    supervise 二进制文件

    supervise 二进制文件,运行命令 ./supervise -f 要守护的程序 -p 守护信息存储位置

    supervise:使用现代Linux功能的最小的非特权流程主管

    概括这以最小且无特权的可执行文件“监督”的形式,为Linux上的流程管理和监督提供了出色的API。 supervise旨在用作您执行的子进程的包装。 因此,supervise设计为仅在有事件要处理时才唤醒,否则不占用任何CPU时间...

    PyPI 官网下载 | supervise_api-0.6.0.tar.gz

    "supervise_api"这个名字暗示了它的主要功能可能与进程管理、服务监控以及API交互有关。在分布式系统中,进程管理是一个关键环节,它涉及到如何启动、停止、监控以及恢复服务。"supervise_api"很可能提供了一套接口...

    Python库 | supervise_api-0.5.0.tar.gz

    API管理通常包括创建、测试、监控和保护API的过程。因此,`supervise_api`可能包含了用于测试API性能、跟踪调用、处理错误、安全控制等功能的模块。 在0.5.0版本中,我们可以期待这个库可能已经过了一些优化和改进...

    qmail在Linux,Solaris系统安装详解

    qmail是一款高效、安全的邮件服务器软件,广泛应用于Linux和Solaris操作系统。本文将详细介绍如何在这些系统中安装qmail及其相关组件,包括ucspi-tcp、tcpserver、daemontools、checkpassword、ezmlm、vpopmail、...

    基于alpine系统构建docker镜像,实现可配置和易于管理的docker镜像

    基于alpine系统构建docker镜像,实现可配置和易于管理的docker镜像。 项目简介 提供非常小的docker镜像。 提供易于配置的docker镜像。 提供非常稳定的docker镜像。 使用docker镜像快速启用微服务架构。 使用docker...

    heartbeat3

    标题 "heartbeat3" 指的是Heartbeat软件的第三版,这是一个开源的高可用性(High Availability, HA)解决方案,主要用于在Linux系统上构建双机集群。Heartbeat的主要任务是监控系统服务的状态,并在主节点发生故障时...

    supervise_learning

    监督学习的核心在于学习过程中的“监督”,它通过已知的输入-输出对(也称为特征-标签对)指导模型的学习。在训练阶段,模型尝试找出输入特征与相应输出标签之间的关系,以便在测试或部署时,面对新的输入,模型能...

    图标管理 图标管理器

    在提供的压缩文件"Supervise Desktop Mini.EXE"中,可能包含了一个轻量级的桌面管理工具。这类工具通常体积小巧,易于安装和使用,旨在简化用户的桌面管理。通过运行这个程序,用户可以享受到上述图标管理功能,提升...

    线程监控工具V0.0.2 发布-[王博毅]

    线程监控工具V0.0.2是一款专为IT专业人士设计的应用,由王博毅开发,旨在帮助用户实时监控和管理计算机上的进程。这个工具具备高效且实用的功能,能够确保系统稳定运行,防止因进程异常结束导致的问题。下面将详细...

    window-supervise-client.rar_视频服务器_视频监控

    和linux下视频服务器交互,实时监控,此工程在windows下SDL显示。

    桌面快捷方式管理工具

    压缩包内的文件“Supervise Desktop Mini.EXE”很可能就是这款桌面快捷方式管理工具的可执行程序,用户运行这个文件就可以启动并使用该工具。而“飘荡软件.url”则可能是一个指向该软件官方网站或下载页面的快捷链接...

    企业通用管理系统

    系统集商品进销存、人员收支费用、人员工资和总会计核算为一体的简单通用的企业管理系统,即“Enterprise Currency Supervise System”简称ECSS。  软件架构:VFP9+MSSQL2000。  其他软件:Microsoft Office 2003...

    危机管理中的媒体应对方法.doc

    危机管理是企业在面临突发性事件时,通过有效的策略和行动来预防、控制和恢复的全过程。危机可以是产品质量问题、舆论风波、自然灾害或是人为操作失误等,这些事件都可能导致企业声誉受损、经济损失甚至生存威胁。...

    This folder contains Matlab programs for a toolbox for supervise

    This folder contains Matlab programs for a toolbox for supervised speech separation using deep neural networks (DNNs).zip

    study_supervise

    AJAX(Asynchronous JavaScript and XML)是另一个关键概念,它允许页面在不刷新的情况下与服务器进行异步通信。通过XMLHttpRequest对象或现代浏览器提供的fetch API,你可以实现数据的后台加载,提高用户体验。 ...

    The Lottery Tickets Hypothesis for Supervised and Self-Supervise

    The Lottery Tickets Hypothesis for Supervised and Self-Supervised Pre-Training in Computer Vision Models

Global site tag (gtag.js) - Google Analytics