Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下:
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <</SPAN>等级代号>][系统服务][on/off/reset]
补充说明:这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
参 数:
--add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
--del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
--level<</SPAN>等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕
首先来执行 chkconfig --list命令来查看所有已添加的系统服务(下面的结果只是一部分)
diskdump 0:off 1:off 2:off 3:off 4:off 5:off 6:off
xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rhnsd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
cups-config-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netplugd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netdump 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
smb 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off
psacct 0:off 1:off 2:off 3:off 4:off 5:off 6:off
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dc_server 0:off 1:off 2:off 3:off 4:off 5:off 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ibmasm 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dc_client 0:off 1:off 2:off 3:off 4:off 5:off 6:off
其中第一列表示服务名,后面的0-6表示在这六种启动方式中该服务是启动(on)还是关闭(off)
比如默认情况下,自动检测新硬件的服务是启动的(服务名是kudzu),每次启动需要检测一段时间,我们可以关闭服务,以后有了硬件改动在调用它。
chkconfig kudzu off
chkconfig --list kudzu
kudzu 0:off 1:off 2:off 3:off 4:off 5:off 6:off
可以看到检测新硬件的服务都被关闭了,再次启动时就不会检测新硬件了。如果有了硬件改动你可以选择将此服务打开(chkconfig kudzu on),其实有更简单的方法,输入
service kudzu start
手动启动检测新硬件服务就可以了。这些服务都存放在/etc/init.d目录下,他们都是可执行的shell文件,比如刚才用的检测新硬件服务
[root@fd /]# ls -l /etc/init.d/kudzu
-rwxr-xr-x 1 root root 2095 Aug 23 2005 /etc/init.d/kudzu
其实我们编写的shell文件也可以放在这里,然后添加成系统服务,但是我们必须遵守一个简单的预定。我们先来看看kudzu的具体内容吧
根据这个模式编写一个简单的启动tomcat的服务脚本,vi /etc/init.d/tomcat,内容如下
#!/bin/bash
#
# kudzu This scripts runs the kudzu hardware probe.
#
# chkconfig: 345 05 95
# description: This runs the hardware probe, and optionally configures \
# changed hardware.
# This is an interactive program, we need the current locale
具体内容省略
# description: simple example to start tomcat
export JAVA_HOME=/usr/java/jdk1.5.0_16
export CLASS_PATH=/usr/java/jdk1.5.0_16/lib
export PATH=$JAVA_HOME/bin:$PATH
/usr/Tomcat/bin/startup.sh
将tomcat添加到服务中
chkconfig --add tomcat
状态设为启动
chkconfig tomcat on
在tomcat文件的头几行的注释语句中,必须包含chkconfig和description两部分内容,否则在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示。chkconfig这行表示缺省启动的运行级别以及启动和停止的优先级,如该服务缺省不再任何运行级启动,则以 - 代替运行级别。在tomcat中表示脚本在运行级2、3、4、5启动,启动优先权为20(优先权数越大服务启动的越晚),停止优先权为80。如果服务已经设置好了,那么通过编辑tomcat文件来修改启动优先权就不管用了,先删除服务再添加进来就可以了。
我模仿检测新硬件服务的内容编写一个较为复杂的tomcat服务,在系统启动时启动tomcat,在系统关闭时关闭tomcat。内容如下
# description: Starts and Stops Tomcat.
export JAVA_HOME=/usr/java/jdk1.5.0_16
export CLASS_PATH=/usr/java/jdk1.5.0_16/lib
export PATH=$JAVA_HOME/bin:$PATH
case "$1" in
start)
/usr/Tomcat/bin/startup.sh
touch /var/lock/subsys/tomcat
;;
status)
if [ -f /var/lock/subsys/tomcat ]; then
echo $"tomcat is running"
exit 0
fi
echo $"tomcat has stopped"
exit 3
;;
stop)
/usr/Tomcat/bin/shutdown.sh
rm -f /var/lock/subsys/tomcat
;;
restart)
/usr/Tomcat/bin/shutdown.sh
/usr/Tomcat/bin/startup.sh
;;
*)
echo "Usage: tomcat {start|stop|restart|status}"
exit 1
esac
exit 0
相关推荐
linux开机自动启动es脚本,亲测有效
arm-linux 通过修改启动项,开机直接启动自己开发的程序,而且不会启动系统携带的桌面环境。这个方法可以解决arm开发qt界面程序中花屏引起的程序无法正常显示的问题。
linux下设置开机自动启动程序.doc
linux服务自动启动
基于Qt的开机自启,适用于Linux 环境下的程序自启动,易于重用
在做系统集成框架软件时,经常遇到需要将已有程序的界面嵌入到统一框架软件的情形,该示例程序演示了在Qt5...该方法在Windows、Linux等操作系统下测试通过,可以实现启动带界面应用程序并嵌入到软件集成框架中的效果。
Linux自动启动tomcat服务shell脚本
各种linux应用程序例子
了解linux的工作原理及其linux程序如何启动.rar了解linux的工作原理及其linux程序如何启动.rar了解linux的工作原理及其linux程序如何启动.rar了解linux的工作原理及其linux程序如何启动.rar
看了好多的网站 实现的两个功能.里面包含用户如何将自己写的服务如何在用户登录前和登录后自动运行的流程.
Linux在你的程序中启动其它程序,并得到返回的文字 Linux在你的程序中调用其它程序,并得到返回的文字信息
linux下oracle 服务和监听开机自动启动
在 linux 下使用 CMake 构建应用程序 级别:初级 王程明 (wangchengming.jlu@gmail.com), 硕士研究生, 吉林大学计算机科学与技术学院 2009 年 2 月 05 日 本文介绍了一个跨平台的自动化构建系统 CMake 在 ...
通过一个linux应用程序加载库的异常问题,分析linux动态库的加载原理和流程
NewLife.Agent是一个服务管理框架,用于开发随系统自动启动的长时间运行后台应用程序,支持Windows/Linux。 在Windows上注册为Windows服务,在Linux上注册为Systemd守护进程。 Agent支持...
本系统通过利用Linux中Shell高级程序设计及Mysql实现一个ACM程序自动评测系统。系统分为两个部分,数据库部分、测评部分,其中测评部分包括J1负责基本信息维护(设置)、J2负责评测程序;通过对自动测评系统进行验证...
Linux应用程序开发
#第三方应用程序可能以linux发行版本中使用的软件包的格式提供安装程序,也可能使用来自安装程序或其他的形式提供应用程序的安装 9.3应用程序组成 应用程序中不同类型的文件保存在linux系统的不同目录中 文件类型 ...
绝对清晰,绝对完整,适合初学者 内容包含linux 基础 ,基本指令,vi gcc makefile等开发环境的使用,文件IO,驱动,网络,QT编程等 另付 arm体系结构描述的简单介绍
《嵌入式Linux应用程序开发详解》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux的安装过程、基本操作命令讲起,为Linux初学者能快速入门提供了保证。接着系统...