前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Daemontools的使用( Linux守护进程管理)

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

作者头像
呼延十
发布2019-07-01 17:17:08
3.9K0
发布2019-07-01 17:17:08
举报
文章被收录于专栏:呼延呼延

前言

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

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

安装

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

使用

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

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

2019-05-21-23-41-02
2019-05-21-23-41-02

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

代码语言:javascript
复制
#!/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 ./.

该命令还支持以下参数:

代码语言:javascript
复制
-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

完。

ChangeLog

2019-05-21 完成 以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

联系邮箱:huyanshi2580@gmail.com


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 安装
  • 使用
  • 参考文章
    • ChangeLog
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档