`

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

    博客分类:
  • Unix
阅读更多

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

chkconfig

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

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

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

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


首先来执行 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下设置开机自动启动程序.doc

    包括在 /etc/rc.d/rc.local 中增加启动命令、将 apache 注册为系统服务、在 Red Hat Linux 中自动运行程序、登录时自动运行程序、退出登录时自动运行程序、定期自动运行程序和定时自动运行程序等多种方法。...

    基于Qt的开机自启动(二)(Linux)

    在Linux系统中,实现基于Qt的应用程序开机自启动是一个实用且常见的需求,特别是在开发桌面应用时,用户希望软件能够在每次开机后自动运行。Qt是一个功能强大的C++图形用户界面库,它提供了丰富的API来帮助开发者...

    linux下oracle服务监听开始自动启动

    在Linux系统中,可以通过编写和修改`/etc/init.d/`目录下的脚本来实现服务的自动启动。对于Oracle数据库来说,这个脚本可以控制Oracle服务(包括数据库服务、监听器服务以及企业管理器控制台服务)的启动和停止操作...

    linux 下自启动可执行程序流程(登录前,登入后)

    在Linux系统中,自启动程序是系统管理和自动化运维的关键部分,尤其对于服务程序而言,确保它们在系统启动或用户登录时自动运行是非常重要的。本文将详细介绍如何在Linux环境下实现服务程序(例如`myftp`)在用户...

    通过服务实现开机自动启动程序

    通过以上方式,无论是在Windows还是Linux系统中,我们都可以实现程序的开机自动启动,而且这些服务可以在没有用户登录的情况下运行,这对于后台任务的自动化执行非常有用。在实际应用中,可能还需要考虑服务的权限...

    linux开机自动启动es.txt

    linux开机自动启动es脚本,亲测有效

    ARM Linux系统开机自动运行特定应用的设置方法

    实现ARM Linux系统开机自动运行特定应用需要修改rc.local文件,添加执行用户应用程序的命令,并通过nfs挂载主机上的文件系统。 相关知识点: * ARM Linux系统的开机自动运行机制 * rc.local文件的作用和修改方法 *...

    Linux应用程序开发详解

    《Linux应用程序开发详解》这本书是为初学者量身打造的一份全面而详尽的Linux开发指南。它旨在帮助读者从零开始,逐步掌握在Linux环境下进行应用程序开发的各种技术和工具。书中的内容涵盖了从基础的Linux操作系统...

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

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

    使用QProcess启动并嵌入带界面应用程序

    在做系统集成框架软件时,经常遇到需要将已有程序的界面嵌入到统一框架软件的情形,该示例程序演示了在Qt5...该方法在Windows、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....

    了解linux的工作原理及其linux程序如何启动.rar

    了解linux的工作原理及其linux程序如何启动.rar了解linux的工作原理及其linux程序如何启动.rar了解linux的工作原理及其linux程序如何启动.rar了解linux的工作原理及其linux程序如何启动.rar

    Linux在你的程序中启动其它程序.zip

    Linux在你的程序中启动其它程序,并得到返回的文字 Linux在你的程序中调用其它程序,并得到返回的文字信息

    Apache自动启动及添加为Linux的服务 ZT

    这篇博客文章"Apache自动启动及添加为Linux的服务 ZT"似乎提供了一个比标准方法稍微改进的shell脚本来实现这个目标。下面将详细解释这个过程。 首先,确保Apache已经安装在你的Linux系统上。你可以通过运行以下命令...

    基于嵌入式Linux系统的Qt Quick应用启动优化.pdf

    文章通过标记串口打印信息的时间,对基于嵌入式Linux系统的Qt Quick应用程序启动时间进行分析和比较,并针对主要的延时因素,提出了一些建议的启动优化方案。 1. 嵌入式Linux系统概述 嵌入式Linux系统由于其可移植...

    UBUNTU添加程序开机自动启动的方法

    UBUNTU 添加程序开机自动启动的方法 ...UBUNTU 添加程序开机自动启动可以通过多种方法实现,包括开机启动时自动运行程序、登录时自动运行程序、退出登录时自动运行程序、定期自动运行程序和定时自动运行程序一次等。

    java应用程序开机自动启动

    Java应用程序开机自动启动是系统管理中的一个重要概念,它允许开发者创建的服务在操作系统启动时自动运行,无需用户手动干预。这在服务器维护、后台任务执行、持续监控等场景中非常常见。下面将详细介绍如何实现Java...

    Linux下自动启动_关闭oracle.txt

    总的来说,管理和配置Linux下的Oracle数据库自动启动和关闭需要对Linux系统和Oracle数据库有一定的了解,包括理解运行级别、系统服务、环境变量以及关键配置文件的作用。通过正确配置,可以确保Oracle数据库在系统...

Global site tag (gtag.js) - Google Analytics