自启动的两种方法,都经过自己测试。
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 $?