`

通过修改Linux服务自动启动指定应用程序(涉及运行级别)

阅读更多
转自:http://www.cnblogs.com/interboy/archive/2008/07/25/1251745.html

Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下:
引用

chkconfig

功能说明:检查,设置系统的各种服务。

语  法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

补充说明:这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

参  数:
 --add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
 --del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
 --level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关毕

首先来执行 chkconfig --list命令来查看所有已添加的系统服务(下面的结果只是一部分)
引用

[root@fd init.d]# 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,内容如下
引用

[root@fd /]# cat /etc/init.d/kudzu
#!/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
具体内容省略

引用

# chkconfig: 2345 20 80
# 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。内容如下
引用

# chkconfig: 2345 30 70
# 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
分享到:
评论

相关推荐

    实现程序开机自动运行

    在计算机系统中,实现程序开机自动运行是一种常见的需求,它可以使特定的应用程序在操作系统启动时自动启动,无需用户手动操作。这种功能对于那些需要后台运行的服务或者需要在系统启动后立即可用的应用尤其有用,...

    Slackware Linux操作系统启动过程详解

    为了适应不同的使用需求,用户可以自定义这些脚本来调整启动时加载的服务,比如关闭不必要的网络服务以节省资源,或者在启动时自动运行特定的应用程序。 总之,理解Slackware Linux的启动过程和运行级别管理对于...

    在Linux系统上安装和配置Domino服务器.doc

    - HTTP服务可以通过修改端口号避免与Domino冲突,使用`linuxconf`程序更改ApacheWeb服务器的监听端口至非8081的其他端口。 3. 用户和组创建: 安装Domino需要专用的用户和组。可以使用`useradd`和`groupadd`命令...

    tomcat7linux版(免费!!!)

    Tomcat是应用广泛的轻量级Web服务器,尤其适合运行Java Web应用程序,如JSP和Servlet。 【描述】中提到的流程,即“下载后需要解压,然后在发送到Linux中”,这实际上是安装和配置Tomcat7在Linux环境中的基本步骤:...

    liunx服务

    例如,在Fedora、CentOS等系统中,可以使用 `chkconfig` 命令来控制服务在启动时是否自动启动,以及在不同运行级别下的状态。此外,`ntsysv` 提供了一个图形化的服务管理界面。而在较新的系统中,如Ubuntu和RHEL 7及...

    libsigar-aarch64-linux.7z

    当Java应用程序尝试使用native方法(通过JNI,Java Native Interface)访问libsigar的功能时,它需要在指定的路径下找到对应的库文件。解决这个问题通常涉及以下步骤: 1. **确保库文件位于正确的位置**:将...

    最新版linux apache-tomcat-8.5.66.tar.gz

    不过,为了长期运行Tomcat,通常会将其配置为在系统启动时自动启动,这可以通过systemd服务实现。创建一个名为`tomcat.service`的文件到`/etc/systemd/system/`,并添加以下内容: ```ini [Unit] Description=...

    开机自动连接指定名称wifi热点

    在Android系统中,实现“开机自动连接指定名称的WiFi热点”功能涉及到多个技术层面,尤其在Amlogic这样的特定环境下编译时,需要注意更多的细节。以下将详细解释这一过程中的关键知识点。 1. **Android系统服务**:...

    Linux实验3X操作实验

    - 要设置系统开机自动进入X Window,需编辑`/etc/inittab`文件,将运行级别设置为5,表示启用图形界面。 2. **切换KDE和GNOME窗口管理器**: - KDE和GNOME是两种流行的Linux桌面环境,它们各自提供了不同的窗口...

    linux 学习笔记 java

    在不同级别的运行级别,系统会启动不同的服务,`/etc/inittab`文件定义了默认的运行级别。 以上只是Linux学习笔记中的一部分,实际学习过程中还会涉及到更多的系统管理、网络服务、安全策略等内容。不断实践和探索...

    bitWebLogicServer安装linux.doc

    使用chkconfig命令可以将服务添加到系统启动级别,这样WebLogic Server就能在系统启动时自动启动。 此外,还应该注意其他配置,如网络设置、日志管理、安全管理、性能调优等,这些都是WebLogic Server在生产环境中...

    android-chkconfig-httpd-on.rar_android_android 开机

    在Linux中,`chkconfig`用于管理运行级别服务,它可以启用、禁用服务,并查看服务在哪些运行级别下启动。然而,Android并没有提供`chkconfig`命令,因为它并不使用运行级别来管理服务,而是依赖于`init`系统和`...

    Linux高级培训教程

    **自动启动**:设置Apache服务在系统启动时自动运行,确保Web服务的持续可用性。 **支持PHP的Web网站**:除了Apache服务器的配置,还需要安装PHP解释器,以便处理PHP动态页面。 **安装PHP5.0.2**:同样使用包管理...

    开机实现自动宽带连接

    这通常涉及到操作系统级别的配置,以便在启动计算机时自动连接到互联网。本话题主要围绕"开机实现自动宽带连接"这一主题,我们将深入探讨如何在不同的操作系统环境下设置自动宽带连接,并简要介绍提供的源码可能涉及...

    weblogic使用手册大全详解(中文)

    - 动态分发允许在运行时更改应用程序的配置信息。 - **启用与禁用自动分发** - 类似于自动部署,但更加灵活。 - **自动分发展开目录格式的应用** - 对于已经展开的应用程序目录,WebLogic服务器也可以实现自动...

    搭建基于Linux下的J2EE开发平台

    安装过程可能包括下载服务器二进制包,解压到指定目录,配置环境变量,启动和停止服务。 6. **服务器配置**:根据需求,可能需要配置服务器的端口、日志级别、用户访问权限等。例如,修改`server.xml`配置文件来...

    linux+java+tomcat+apache环境搭建.pdf

    `chkconfig`命令用于管理系统服务,确保Apache在启动级别3、4、5下自动启动。 4. **JDK安装**: 安装Java Development Kit (JDK) 是运行Java应用程序服务器如Tomcat的前提。这里使用的是JDK 1.6,通过执行安装脚本并...

Global site tag (gtag.js) - Google Analytics