自启动程序方法1:
在etc/rc.local在里面加入/home/robin/code/autoruntest > /dev/null &(其中autoruntest 测试程序名称,下同)。即可自启动
自启动程序方法2:
创建linux服务,步骤如下:
1) 写服务启动脚本文件(后附例子)
2) 修改脚本文件chmod 777 autoruntest
3) 脚本文件拷贝到 /etc/rc.d/init.d/
4) chkconfig --add autoruntest 添加服务
5) 重新启动(完成)
其中到了第三步后就可以使用service启动停止了,要自启动必须使用chkconfig 将服务添加到系统中。
要定制系统服务必须要以root用户操作。通过ntsysv命令可以看到系统所有的服务,及其是否和系统一起启动,在这里可以定制系统服务,在这里可以看到测试程序autoruntest已经添加为系统服务了,并且是随着系统运行的。这里可以定制启动的服务,按F1可以看到各个服务的介绍。后附系统服务的介绍。
以下是两个开机自启动脚本:
if [ `id -u` -ne 0 ]
then
echo "ERROR:For bind to port 53,must run as root."
exit 1
fi
case "$1" in
start)
if [ -x /usr/local/named/sbin/named ]; then
for i in `seq 1 8`
do
/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf -u root
echo "BIND9-named1$i server started"
done
fi
;;
stop)
kill `cat /usr/local/named/var/named.pid` && echo . && echo 'BIND9 server stopped'
;;
restart)
echo .
echo "Restart BIND9 server"
$0 stop
sleep 10
$0 start
;;
reload)
/usr/local/named/sbin/rndc reload
;;
status)
/usr/local/named/sbin/rndc status
;;
*)
echo "$0 start | stop | restart |reload |status"
;;
esac
#!/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/autoruntest
EXEC_PATH=/home/robin/code
EXEC=autoruntest
PID_FILE=/var/run/autoruntest.pid
DAEMON=/home/robin/code/autoruntest
# 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 $?
#
# autoruntest the shell script takes care of autoruntest auto start and stop
#
# chkconfig: 2345 20 80
# description: autoruntest
# processname: /etc/rc.d/init.d/autoruntest
EXEC_PATH=/home/robin/code
EXEC=autoruntest
PID_FILE=/var/run/autoruntest.pid
DAEMON=/home/robin/code/autoruntest
# 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 $?
chkconfig加载自启动.提示"**服务不支持chkconfig"
原来是自己写的脚本时,忘记写两行了.开头一般要这样写
#!/bin/bash
#chkconfig:345 61 61 //此行的345参数表示,在哪些运行级别启动,启动序号(S61);关闭序号(K61)
#description:Apache //此行必写,描述服务.
#chkconfig:345 61 61 //此行的345参数表示,在哪些运行级别启动,启动序号(S61);关闭序号(K61)
#description:Apache //此行必写,描述服务.
个服务在这个级别被停止.若前面有一个"s"表示"Start",表示这个服务在这个运行级别被启动.在K或S的
后面有一些数字,这是服务的序号,当启动服务时,按序号从小到大启动,当停止服务时,按序号从大到小停
转载于:https://blog.51cto.com/liguxk/217147