首页 > 系统相关 >Daemontools的使用( Linux守护进程管理)

Daemontools的使用( Linux守护进程管理)

时间:2022-10-27 17:02:11浏览次数:88  
标签:Daemontools package 发送 守护 信号 Linux services daemontools

前言

Daemontools是一个在linux上可以进行守护进程管理的工具,当我们有一些程序需要常驻后台,万一不小心挂掉了他可以帮我们重启服务.

这是他的官网,很简陋但是很有用

安装

  1. 新建文件夹
    mkdir -p /package
    chmod 1755 /package
    cd /package
  1. 下载Daemontools然后解压.
     gunzip daemontools-0.76.tar
     tar -xpf daemontools-0.76.tar
     rm -f daemontools-0.76.tar
     cd admin/daemontools-0.76
  1. 安装
package/install

使用

进行完上面简单的步骤,就可以开始使用了,我们模拟一种简单的使用场景.

首先我们有一个服务想要部署,那么在我们习惯的地方建立文件夹,放进入我们的jar包,log文件等等.比如在~/test下.

之后我们编写我们的启动脚本,我们可以在run文件中写入,比如这里我们写个脚本,输出1-49.

#!/bin/bash

for i in {1..49}
do
	echo $i >> test.log
done

然后,将整个test文件建立一个软连接到/service下,即在/service下执行:sudo ln -s ~/test.

到此,所有前期工作已经完成了,我们来验证一下,

执行:sudo svc -u ./,即启动当前目录下的服务.然后持续观察log,会发现,Daemontools将run脚本无限次的执行下去,所以log中会不断的循环打印1-49.

当我们想要停止服务的时候呢,使用-d参数.sudo svc -d ./.

该命令还支持以下参数:

-u : up, 如果services没有运行的话,启动它,如果services停止了,重启它。 
-d : down, 如果services正在运行的话,给它发送一个TERM(terminate)信号,然后再发送一个CONT(continue)信号,在它停止后,不再启动它。 
-o : once, 如果services没有运行,启动它,但是在它停止后不再启动了。就是只运行一次。 
-p : pause, 给services发送一个停止信号。 
-c : continue, 给services发送一个CONT信号。 
-h : hang up, 给services发送一个HUP信号。 
-a : alarm, 给services发送一个ALRM信号。 
-i : interrupt, 给services发送一个INT信号。 
-t : Terminate, 给services发送一个TERM信号。 
-k : kill, 给services发送一个KILL信号。 
-x : exit, supervise在services停止后会立刻退出, 但是值得注意的是,如果你在一个稳定的系统中使用了这个选项,你已经开始犯错了:supervise被设计成为永远运行的。 

可以按需取用,不过最常用的还是-d,-u,毕竟组合起来就是重启,重启大法好啊.

参考文章

https://cr.yp.to/daemontools.html

标签:Daemontools,package,发送,守护,信号,Linux,services,daemontools
From: https://www.cnblogs.com/lidabo/p/16832861.html

相关文章

  • 「老男孩Linux」0基础转行,大专学历,工资轻松翻3倍!
    对于职场人来说,转行越来越日常化了,受疫情影响,各行各业多多少少都有些不景气,有的人选择打破现状,有的人则选择稳步求进。对于职场年轻人来说,他们有条件通过更多尝试来找到自......
  • linux快捷方式.destop文件的配置项
    [DesktopEntry]必填,表明该文件是一个DesktopEntry文件,节点意思十分明显,桌面入口。DesktopEntry实际上是一个文件标准,该标准由FreeDesktop.org制定;Comment这是......
  • linux 快速安装docker
    文档说明:只记录关键地方;试验环境:linuxdebian11目标:debian或者ubuntu快速使用上docker#!/bin/bash#https://www.ruanyifeng.com/blog/2017/11/bash-set.htmlset......
  • windows和linux文件传输[SSH]
    Linux系统安装ssh的serverapt-getinstallopenssh-server修改/etc/ssh/sshd_config文件vim/etc/ssh/sshd_config修改如下:允许root账户登录......
  • 99、cracer第4集-Linux基础——2022年10月25日16:30:14
    2022年5月30日15:56:25重要内容清除linux密码——在开机时输入命令命令清屏——ctrl+U/K/Lfind命令——find/-namere*conf1、2、磁盘分区3、密码破解4......
  • linux安装git
    环境准备:yum-yinstallcurl-develexpat-develgettext-developenssl-develzlib-develgccperl-ExtUtils-MakeMaker下载:https://github.com/git/git编译安装:make......
  • linux LVS的DR模式多网段
    架构图:多网段:客户机位于192.168.10.x/24网段RS位于:10.0.0.x/24网段VIP:位于172.16.0.x/24网关通信过程:客户机(CIP)---->lvs(VIP)---->lvs(DIP)---->RS(RIP)-......
  • linux程序打包成deb
    前言最近在研究如何将自己的程序打包称deb格式,用dpkg或者apt管理起来,最终我们可以使用"dpkg-buildpackage-us-uc"来生成我们的deb文档。以下为我的学习心得,将每一个步骤......
  • Linux 进程
    引入进程的原因进程是为了刻画并发程序的执行过程而引入的概念,进程管理就是对并发程序的运行过程的管理,也就是对CPU的管理。进程管理的目标是最大限度地发挥CPU的处理能......
  • Linux系统安全及应用
    Linux系统安全及应用......