一、编写自启动脚本(适合写好启动程序的脚本):

  1. 编写启动脚本: vim test
#!/bin/bash
function start()
{
    cd /home/wwwroot/script/script
	if [ `ps -aux | awk '{print $2}' | grep $(cat /var/run/user/test.pid 2> /dev/null) 2> /dev/null | wc -l` == 0 ]; then
	    /usr/bin/php test.php &
	    echo $! > /var/run/test.pid
	fi
}
function stop()
{
    /usr/bin/kill -9 `cat /var/run/test.pid 2> /dev/null` 2> /dev/null
}
case "$1" in
	start)
		start
	;;  
	stop)
		stop
	;;  
	restart)
		stop
		start
	;;
	*)
		echo "Usage : start | stop | restart"
	;;
esac
  1. 加入系统启动文件夹:
chmod  a+x  test
cp  -arf  test  /etc/init.d/
  1. 手动启动:
systemctl  daemon-reload
systemctl  start  test
  1. 设置开机自启动:
chkconfig  --add  test
chkconfig  test  on

二、添加系统服务(适合shell调用其它脚本):

  1. 为脚本配置pid文件:
#!/bin/bash
cd /var/www/html
/usr/bin/php  /home/lee/shell/test.php  &
echo  $!  >  /var/run/test.pid
  1. 编写启动文件: vim /usr/lib/systemd/system/test.service
[Unit]
Description=test
After=network.target
[Service]
Type=forking
PIDFile=/var/run/test.pid
ExecStart=/bin/bash  /home/lee/shell/test.sh
ExecStop=/usr/bin/pkill  服务名(根据情况而定)
PrivateTmp=true
[Install]
WantedBy=multi-user.target

[Unit]
Description=test
After=network.target
[Service]
Type=simple
ExecStart=/bin/bash  /home/lee/shell/test.sh
ExecStop=/usr/bin/pkill  服务名(根据情况而定)
PrivateTmp=true
[Install]
WantedBy=multi-user.target
  1. 启用服务:
systemctl  enable  test
  1. 启动服务:
systemctl  start  test
  1. 停止服务:
systemctl  stop  test
  1. 添加开机自启动:
chkconfig  test  on
  1. 取消开机自启动:
chkconfig  test  off