让程序以服务的形式加载,主要是在/etc/init.d下面新建一个脚本,以及chkconfig的使用。我现在举一个实例:我机器在/mnt/soft目录下面有redhat的三张光盘,我想在每次系统启动时候自动加载到/mnt
目录下面的iso1,iso2,iso3目录里面,并且在系统每次启动的时候自动的硬盘使用DMA模式,下面是程序:

#!/bin/sh
#
# Startup script for myservice
# description: This is myservice
# chkconfig: 35 100 15

#Source function library
. /etc/rc.d/init.d/functions

#The following file serves as a mask to check whether the redhatcd has been started
SYSCONF_FILE=/var/lock/subsys/redhatcd

#See how we were called
start()
{
mount /mnt/soft/PSYCHE-I386-DISC1.ISO /mnt/iso1 -o loop
mount /mnt/soft/PSYCHE-I386-DISC2.ISO /mnt/iso2 -o loop
mount /mnt/soft/PSYCHE-I386-DISC3.ISO /mnt/iso3 -o loop
/sbin/hdparm -d1 /dev/hda >/dev/null
touch $SYSCONF_FILE
}
stop()
{
umount /mnt/iso1
umount /mnt/iso2
umount /mnt/iso3

/sbin/hdparm -d0 /dev/hda>/dev/null
rm -f $SYSCONF_FILE
}
case "$1" in
start)
if [ -f $SYSCONF_FILE ]
then
echo "MyService is already on!"
else
start
echo -n "Starting MyService:"
echo_success
echo

fi
;;
stop)
if [ -f $SYSCONF_FILE ]
then
echo -n "Stoping MyService :"
echo_success
echo
stop
else
echo "MyService is not on!"
fi
;;
restart)
$0 stop
$0 start
;;
status)
if [ -f $SYSCONF_FILE ]
then
echo "MyService is enabled"
else
echo "MyService is disabled"
fi
;;
*)
echo "Usage:$0 {start|stop|status|restart}"
esac
将其保存到/etc/init.d/目录下面,我将其命名为myservice,然后运行chmod a+x myservice
[root@dany init.d]# pwd
/etc/init.d
[root@dany init.d]# chkconfig --add myservice
[root@dany init.d]# chkconfig --level 35 myservice on
[root@dany init.d]# /etc/init.d/myservice start
MyService is already on!
[root@dany init.d]# /etc/init.d/myservice status
MyService is enabled
[root@dany init.d]# /etc/init.d/myservice stop
Stoping MyService : [ 确定 ]
[root@dany root]# /etc/init.d/myservice status
MyService is disabled
[root@dany root]# /etc/init.d/myservice stop
MyService is not on!
[root@dany init.d]# /etc/init.d/myservice start
Starting MyService: [ 确定 ]
[root@dany init.d]# /etc/init.d/myservice
Usage:/etc/init.d/myservice {start|stop|status|restart}
[root@dany init.d]#
呵呵,现在每次启动都会自动的加载我的服务。
上面的那个shell脚本主要是start和stop两个函数。对输入的参数作处理。
# description: This is myservice
# chkconfig: 35 100 15
上面的两句中,前一句是在文本界面下面运行
ntsysv的时候在myservice是按F1时显示的帮助。
后面一句指定了服务执行的level和优先级。
想想还是很简单的。呵呵!