示例:
[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