服务自动重启

Web服务需要在crash和系统启动的时候自动重启

简单的奔溃重启

while true;
do
    echo 'start run'
    ./myapp;
    sleep 3s
done

然后使用nohup运行这个脚本即可。但是这样直接运行不能保证系统重启的时候自动启动。

Upstart

在/etc/init目录下添加myapp.conf文件,内容如下

description "myapp"
author "yangjiandong"

start on startup
stop on shutdown

respawn

console output

script
        logger "start"
        exec /home/***/myapp
end script

然后使用'start myapp'命令启动服务。

我使用的是CetOS 6操作系统,所以用Upstart,新一点的版本用Systemd,旧一点的版本用sysvinit。

Systemd

Ubuntu 15.04及以后的版本从Upstart切换到了Systemd。 新建文件/etc/systemd/system/myprocess.service,内容如下:

[Unit]
Description=My Process

[Service]
ExecStart=/bin/myprocess
Restart=always

[Install]
WantedBy=multi-user.target

启动服务:

systemctl enable myprocess.service
systemctl start myprocess.service
systemctl status myprocess.service

注意事项 ExecStart指向的脚步要确保有#!/bin/sh类似的标记。

转载于:https://my.oschina.net/chunquedong/blog/859959

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值