linux程序自启动和新建linux 服务的方法

时间:2022-03-02 17:22:18
1 linux创建自启动程序
    自启动的两种方法,都经过自己测试。
1.1 自启动程序方法1:
    在etc/rc.local在里面加入/home/MyWork/daemond/bin/Debug/daemond > /dev/null &(其中daemond 测试程序名称,下同)。即可自启动
1.2 自启动程序方法2:
    创建linux服务,步骤如下:
1)        写服务启动脚本文件(后附例子)
2)        修改脚本文件chmod 777 daemond
3)        脚本文件拷贝到 /etc/rc.d/init.d/
4)        chkconfig --add daemond 添加服务
5)        重新启动(完成)

其中到了第三步后就可以使用service启动停止了,要自启动必须使用chkconfig 将服务添加到系统中。


一个脚本的实例

#!/bin/bash
#
# autoruntest  the shell script takes care of autoruntest auto start and stop
#
# chkconfig:   2345 20 80
# description: autoruntest
# processname:     /etc/rc.d/init.d/daemond


DAEMON=/home/MyWork/daemond/bin/Debug/daemond
EXEC=daemond
EXEC_PATH=/home/MyWork/daemond/bin/Debug
PID_FILE=/var/run/daemond.pid
 
# Source function library.
. /etc/rc.d/init.d/functions
 
if ! [ -x $EXEC_PATH/$EXEC ] ; then
       echo "ERROR: $EXEC_PATH/$EXEC not found"
       exit 1
fi
 
stop()
{
       echo "Stoping $EXEC ..."
       killall $DAEMON >/dev/null
       usleep 100
       echo "Shutting down $EXEC: [  OK  ]"      
}
 
start()
{
       echo "Starting $EXEC ..."
       $DAEMON > /dev/null &
       usleep 100
       echo "Starting $EXEC: [  OK  ]"         
}
 
restart()
{
       stop
       start
}
 
 
case "$1" in
       start)
       start
       ;;
       stop)
       stop
       ;;
       restart)
       restart
       ;;
       status)
       status -p $PID_FILE $DAEMON  
       ;;    
  *)
       echo "Usage: service $EXEC {start|stop|restart|status}"
       exit 1
esac
 
exit $?