`

通过修改Linux服务自动启动指定应用程序

 
阅读更多

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
复制代码
分享到:
评论

相关推荐

    Arm-linux 自定义开机启动程序,避开从桌面启动

    为了使自定义的程序能在系统启动时自动运行,需要进一步修改启动脚本: 1. 在`/usr/bin`目录下复制`startx`文件,并重命名为`MyUIstartx`。 2. 在`MyUIstartx`脚本中,添加一行代码指定Qt程序的路径,如`client="/...

    linux驱动程序编译以及应用程序编译

    Linux 驱动程序编译和应用程序编译 Linux 驱动程序编译是指将驱动程序源代码编译成可加载到 Linux 内核的模块,...通过本文的介绍,读者可以更好地理解 Linux 驱动程序编译和应用程序编译的过程,并掌握相关的技术。

    linux开机自动启动ngnix与tomcat服务.pdf

    要让Tomcat服务随Linux系统的启动而自动启动,可以通过修改`/etc/rc.d/rc.local`文件来实现。 ##### 1. 修改脚本文件`rc.local` 1. 使用文本编辑器打开`/etc/rc.d/rc.local`文件: ```bash vi /etc/rc.d/rc....

    应用程序注册为系统服务,支持WindowsLinux.zip

    NewLife.Agent是一个服务管理框架,用于开发随系统自动启动的长时间运行后台应用程序,支持Windows/Linux。 在Windows上注册为Windows服务,在Linux上注册为Systemd守护进程。 Agent支持...

    在linux下设置开机自动启动程序的方法.doc

    在Linux系统中,设置开机自动启动程序是管理服务器和确保服务持续运行的关键步骤。下面将详细解释如何在Linux环境下配置自启动程序。 1. **开机启动时自动运行程序** Linux系统启动时,主进程`init`根据配置文件...

    嵌入式Linux应用程序开发详解

    ### 嵌入式Linux应用程序开发详解 #### 1. Linux快速入门 ##### 1.1 嵌入式Linux基础 嵌入式Linux作为基于Linux操作系统的一种变体,广泛应用于各种高性能智能设备中,例如摩托罗拉A760手机、IBM智能手表WatchPad...

    在linux下如何设置开机自动启动程序.pdf

    在Linux系统中,设置开机自动启动程序是管理服务器和应用的关键步骤,这确保了系统启动后,所需的服务和应用程序能够自动运行,无需手动干预。以下是一些常见的方法和相关知识点: 1. **在 `/etc/rc.d/rc.local` 中...

    linux configlinux服务器配置应用 配置文件

    这些文件通常位于/etc目录下,包含了各种服务、应用程序和系统的设置。本资料包“linux configlinux服务器配置应用 配置文件”提供了一个实践和学习Linux服务器配置文件的平台,涵盖了多种服务器环境的配置。 一、...

    88设置启动时自动被执行的程序.rar_设置启动时

    在计算机系统中,设置启动时自动执行的程序是一种常见的需求,尤其对于那些希望在开机后立即运行的服务或应用来说。这个主题涉及到操作系统的核心机制、任务计划、启动项管理等多个方面。接下来,我们将深入探讨如何...

    linux开机启动配置文档—20170331.rar_linux 守护进程_linux开机启动配置文档

    - **开机启动:** 若要使服务在开机时自动启动,使用`systemctl enable service-name`,如`systemctl enable ssh`。 2. **守护进程(Daemon)管理:** - **什么是守护进程?** 守护进程是在后台运行的程序,不与...

    嵌入式tomcat虚拟目录服务器应用程序源代码

    在这个源代码中,开发者已经实现了将Tomcat的关键组件封装起来,使其可以随应用程序一起启动和关闭。 虚拟目录在服务器环境中是一个重要的概念。它允许我们在同一个Web服务器上创建多个逻辑上的“目录”,这些目录...

    Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    在Linux环境中,管理和部署Java应用程序,特别是Spring Boot应用,通常会使用Shell脚本来自动化启动、停止等操作。本文将详细讲解如何编写一个用于启动和停止Spring Boot jar程序的Shell脚本,以及脚本中涉及的关键...

    3.linux企业级应用

    - **Tomcat**:主要用于Java Web应用程序的部署,但静态资源处理不如Apache和Nginx。 - **组合使用**:常见的架构是使用Apache或Nginx作为前端,Tomcat作为后端,比例通常是1:8。 #### 五、集群搭建与管理 - **...

    设置为开机自动执行程序

    4. 服务:通过创建并配置系统服务,程序可以在后台自动启动。 在Linux系统中,开机自启动的方法有: 1. `rc.local`脚本:在 `/etc/rc.local` 中添加命令行启动程序。 2. System V init:使用 `/etc/init.d/` 下的...

    RoseMirrorHA for linux 关于oracle的配置

    同时,需修改Oracle的启动方式,从自动启动改为手动,以防止系统启动时自动加载Oracle服务。 ### 配置方案 - **NICⅠ**:主要用于Oracle数据的实时复制,保证源服务器和目标服务器的数据一致性。 - **NICⅡ**:...

    程序自启动

    程序自启动是计算机技术中一个常见且重要的概念,它允许应用程序在系统启动时自动运行,无需用户手动干预。这一功能广泛应用于各种软件和服务,包括系统维护工具、后台服务以及用户日常使用的应用程序。下面将详细...

    嵌入式linux应用程序开发详解

    ### 嵌入式Linux应用程序开发详解 #### 一、嵌入式Linux基础 - **Linux发展概述**:自1991年Linus Torvalds发布第一个版本以来,Linux经历了快速的发展,逐渐成为最流行的开源操作系统之一。它不仅被广泛应用于...

    linux动态链接机制研究及应用

    - **实现方法**:在Linux系统中,通过修改环境变量`LD_LIBRARY_PATH`,可以指定程序查找共享库的额外路径。这使得程序能够在运行时自动加载位于指定路径下的共享库,而不是默认路径下的库。 - **应用场景**:例如,...

Global site tag (gtag.js) - Google Analytics