systemd 管理程序 - 重启、自启

38 篇文章 0 订阅

示例:

[root@localhost lighttpd]# cat lighttpd.service
[unit]
Description=lighttpd-server
After=network.target

[Service]
Type=forking
ExecStart=/home/lighttpd/lighttpd -f /home/lighttpd/lighttpd.conf
ExecStop=pkill lighttpd
PrivateTmp=true
Restart=always
RestartSec=1

[Install]
WantedBy=multi-user.target

[root@localhost lighttpd]# cat install.sh
#!/bin/sh

cp lighttpd.service /etc/systemd/system/
systemctl daemon-reload
systemctl start lighttpd
systemctl enable lighttpd

[root@localhost lighttpd]#

实例:

app.service

[unit]
Description=app-server
After=network.target

[Service]
Type=forking
ExecStart=/bin/sh /usr/local/app/start.sh
ExecStop=/bin/sh /usr/local/app/stop.sh
PrivateTmp=true
Restart=always
RestartSec=1

[Install]
WantedBy=multi-user.target

start.sh

#!/bin/sh
CWD=$(cd "$(dirname $0)";pwd)
cd $CWD
echo $CWD
nohup ./app > ./log/app.log 2>&1 &
exit 0

stop.sh

#!/bin/sh

appName="app"

CWD=$(cd "$(dirname $0)";pwd)
cd $CWD

PID=`pgrep $appName`
if [ ${#PID} -gt 0 ];then
    PID=`pwdx $PID`
fi

if [ ${#PID} -gt 0 ];then
    PID=`echo $PID|grep $CWD|awk -F ":" '{print $1}'`
fi

if [ ${#PID} -gt 0 ];then
    kill -9 $PID
    if [ $? ];then
        echo -e "killed $appName pid $PID \033[32msucessful\033[0m"
    else
        echo -e "killed $appName pid $PID \033[31mfailed\033[0m"
    fi
else
    echo -e "\033[36mnot found pid ...\033[0m"
fi

##    echo -e "\033[30m 黑色字 \033[0m"
##  echo -e "\033[31m 红色字 \033[0m"
##  echo -e "\033[32m 绿色字 \033[0m"
##  echo -e "\033[33m 黄色字 \033[0m"
##  echo -e "\033[34m 蓝色字 \033[0m"
##  echo -e "\033[35m 紫色字 \033[0m"
##  echo -e "\033[36m 天蓝字 \033[0m"
##  echo -e "\033[37m 白色字 \033[0m"

install:

cp app.service /etc/systemd/system/
systemctl daemon-reload
systemctl start app
systemctl enable app
systemctl status app
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值