版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cheungmine/article/details/80641365
daemontools 在 centos7 上安装和监控 java 服务
都是以 root 运行
下载和安装
# wget ftp://pub:[email protected]/tarball/daemontools-0.76.tar.gz
解压后移动到安装目录:
# tar -zxf daemontools-0.76.tar.gz
# mv daemontools-0.76 /usr/local/lib/
# cd /usr/local/lib/daemontools-0.76
安装:
# ./package/install
编辑 /etc/inittab, 删除最后一行(因为不起作用了):
SV:123456:respawn:/command/svscanboot
把 daemontools 做成服务
新建一个文件:/etc/systemd/system/daemontools.service
[Unit]
Description=daemontools Start supervise
After=getty.target
[Service]
Type=simple
User=root
Group=root
Restart=always
ExecStart=/command/svscanboot /dev/ttyS0
TimeoutSec=0
[Install]
WantedBy=multi-user.target
然后启动服务并设置成开机运行(enable):
# systemctl start daemontools.service
# systemctl status daemontools.service
# systemctl enable daemontools.service
把 java 服务监管起来
假设有 java 服务:
/path/to/javasrv-1.0.0SNAPSHOT.jar
正常启动命令:
# java -jar /path/to/javasrv-1.0.0SNAPSHOT.jar
创建服务启动脚本:
# mkdir /path/to/service
# vi /path/to/service/run
#!/bin/sh
# service/run : 755
# service/ : 1755
###################################
_file=$(readlink -f $0)
_cdir=$(dirname $_file)
_name=$(basename $_file)
JARDIR=$(dirname $_cdir)
exec java -jar $JARDIR/javasrv-1.0.0SNAPSHOT.jar
必须赋予权限:
# chmod 1755 /path/to/service
# chmod 755 /path/to/service/run
创建服务:
# ln -s /path/to/service /service/javasrv
/path/to/service 必须是绝对路径. javasrv 是任意给定的服务名.
启动和中止服务:
# svc -u /service/javasrv
# svc -d /service/javasrv
参考: