Linux 系统服务是在Linux启动时自动加载,并在Linux退出时自动停止的系统任务。在Linux 启动过程中,我们可以看得很多”starting …“ 提示信息,该信息表示正在启动系统服务;而在Linux 退出时,我们也能够看到相应的”Stopping …“ 信息,表示系统服务正在停止。Linux自身有许多系统任务,如”network“ 服务用于支持网络连接等。Linux 系统的所有服务程序脚本均可以在”/etc/rc.d/init.d“文件夹中找到,每一项服务对应一个脚本文件。
启动和停止服务
service 命令用于启动及停止某个服务,例如:
service oracled start 启动 oracled 服务
需要注意的是:一个服务被添加后,并不表示该服务在系统启动过程中会自动运行,仅表示可以使用service 命令来启动、停止服务。
1. 添加服务
添加服务的步骤为:
1).将该服务的脚本文件拷入"/etc/rc.d/init.d" 文件夹下,保证其状态为”可执行“;
2).使用chkconfig 命令将服务添加到服务列表中;
chkconfig --add camsd (注意有两个 ”-“)
将服务添加以后, 该服务即可以使用service 来启动/停止了。
2. 删除服务
如果要删除某项服务, 将上述命令的”add“ 改为”del“ 即可:
chkconfig --del camsd (注意有两个 ”-“)
3. 设置服务自动运行
Linux 运行有7 种运行级别分别使用0-6 来表示,控制台界面运行级别为3,图形界面运行级别为5。要使某服务在系统启动时自动运行,使用chkconfig将该服务添加到相应级别的自启动服务列表中即可:
chkconfig --level 35 camsd on(注意有两个 ”-“)
上面的命令将 camsd 服务添加到级别为3 、5 的自启动服务列表中;而下面的命令则将服务camsd 从级别为3、 5 的自启动服务列表中删除:
chkconfig --level 35 camsd off (注意有两个 "-")
如果需要查看某项服务的自启动状态信息,使用如下命令即可:
chkconfig --list camsd (注意有两个 ”-“)
============================================================================
将某个脚本做出服务的整个过程如下:
1.将脚本写好好放入/etc/rc.d/init.d/,并保持其状态为可执行。脚本可以参考:
#
# chkconfig: 35 95 1
# description: init script. to start/stop oracle database 10g, TNS listener, EMS
# match these values to your environment:
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORACLE_SID=AJ50D
export NLS_LANG=AMERICAN_AMERICA. UTF8
export PATH=/usr/lib64:$ORACLE_HOME/bin:$PATH
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
export SHLIB_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export ORACLE_UNQNAME=$ORACLE_SID
export DISPLAY=localhost:0
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"<<EOO
lsnrctl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
EOO
;;
stop)
su - "$ORACLE_USER"<<EOO
lsnrctl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
EOO
;;
status)
su - "$ORACLE_USER"<<EOO
lsnrctl status
emctl status dbconsole
EOO
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
2.将服务添加到服务列表中。 chkconfig --add camsd 。最后面的camsd为服务名,同时为脚本的文件名。
3.设置服务自启动。 chkconfig --level 35 camsd on