`

Linux中如何自动启动服务

阅读更多
linux自动启动服务很简单,最简单的是把启动命令放到/etc/rc.d/rc.local文件里。这样就可以每次启动的时候自动启动服务了。例如对于 apache,编译好apache后会在安装目录的bin下生成apachectl文件,这是个启动脚本,我们只需要把这个命令加到rc.local里就可以了:
echo /usr/local/apache/bin/apachectl >> /etc/rc.d/rc.local

此外我们还可以使用chkconfig命令来把某项服务加到系统的各项运行级别中,步骤如下:
1 创建启动脚本,对于apache、mysql、ssh这样的软件都是自己带的,我们只要稍微修改一下使之支持chkconfig就可以了
2 修改脚本
我们需要在脚本的前面加上2行,才能支持chkconfig命令
# chkconfig: 2345 08 92
# description: Automates a packet filtering firewall with ipchains.

chkconfig:后面定义的使启动服务的运行级别(例子中使2345启动该服务),以及关闭和启动服务的顺序(上例中启动服务的顺序是8,关闭的顺序是92)。
descriptions:对该服务的描述(上例中是ipchains包过滤),你可以换成自己想要的

修改好之后执行
cp 你的脚本 /etc/rc.d/init.d/脚本名
chmod 700 /etc/rc.d/init.d/脚本名
chkconfig --add 脚本名
以后每次重新启动服务器都会自动启动和关闭我们的服务了
而且你执行setup之后也可以看到我们添加的服务,选中我们添加的服务按F1键还可以看到我们定制的信息。
附chkconfig命令:
  chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
语法:
    chkconfig --list [name]
    chkconfig --add name
    chkconfig --del name
    chkconfig [--level levels] name <on|off|reset>
    chkconfig [--level levels] name
    chkconfig 没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定 了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开 关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。
    --level选项可以指定要查看的运行级而不一定是当前运行级。
    需要说明的是,对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
    chkconfig --list :显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。
    chkconfig --add name:增加一项新的服务。chkconfig确保每个运行级有一项启动(S)或者杀死(K)入口。如有缺少,则会从缺省的init脚本自动建立。
    chkconfig --del name:删除服务,并把相关符号连接从/etc/rc[0-6].d删除。
    chkconfig [--level levels] name <on|off|reset>:设置某一服务在指定的运行级是被启动,停止还是重置。例如,要在3,4,5运行级停止nfs服务,则命令如下:
    chkconfig --level 345 nfs off
运行级文件:
    每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用\ 跨行注释。
例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
此例子表明random服务的缺省启动运行级在2、3、4、5级,启动的优先级(顺序号)是20,停止的优先级(顺序号)是80。
附加介绍一下Linux系统的运行级的概念:
    Linux中有多种运行级,常见的就是多用户的2,3,4,5 ,很多人知道5是运行X-Windows的级别,而0就是关机了。运行级的改变可以通过init命令来切换。例如,假设你要维护系统进入单用户状态,那么,可以使用init1来切换。在Linux的运行级的切换过程中,系统会自动寻找对应运行级的目录/etc/rc[0-6].d下的K和S开头的文件, 按后面的数字顺序,执行这些脚本。对这些脚本的维护,是很繁琐的一件事情,Linux提供了chkconfig命令用来更新和查询不同运行级上的系统服务
分享到:
评论

相关推荐

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

    通过以上步骤,我们成功实现了在Linux系统中Oracle服务(包括数据库服务、监听器服务和企业管理器控制台服务)的自动启动。这种方式不仅简化了日常运维工作,还提高了系统的稳定性和可用性。对于企业级应用环境而言...

    linux开机自动启动es.txt

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

    linux中mysql开机自动启动3种方法.docx

    Linux 中 MySQL 开机自动启动是指在 Linux 系统启动时自动启动 MySQL 服务,以便提供数据库服务。本文将介绍三种实现 Linux 中 MySQL 开机自动启动的方法。 方法一:使用 chkconfig 命令 第一种方法是使用 ...

    Linux自动启动tomcat服务shell脚本

    Linux自动启动tomcat服务shell脚本

    linux服务自动启动

    linux服务自动启动

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

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

    linux下设置开机自动启动程序.doc

    本文档详细介绍了在 Linux 系统中设置开机自动启动程序的方法。包括在 /etc/rc.d/rc.local 中增加启动命令、将 apache 注册为系统服务、在 Red Hat Linux 中自动运行程序、登录时自动运行程序、退出登录时自动运行...

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

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

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

    通过以上介绍,我们可以看出,在Linux系统中配置服务的自动启动相对简单。只需要修改`/etc/rc.d/rc.local`文件,并将相应的服务启动命令写入其中,再赋予该文件执行权限即可。需要注意的是,在进行此类配置时,一定...

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

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

    linux下自动启动数据库脚本

    ### Linux下自动启动Oracle数据库脚本详解 #### 一、背景介绍 在Linux环境中,确保关键服务如数据库能够在系统启动时自动运行是非常重要的。对于Oracle数据库来说,这涉及到配置特定的脚本来控制数据库实例和服务...

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

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

    Linux下远程启动Linux

    在“Linux下远程启动Linux”这一主题中,我们将深入探讨如何在Linux环境中利用DHCP(动态主机配置协议)、TFTP(Trivial File Transfer Protocol)服务以及现有内核和文件系统,在PXE(Preboot Execution ...

    Linux 下设置oracle 10g 自动启动服务

    如果在启动日志中看到“Oracle”字样且状态为“OK”,则表示服务已成功自动启动。 #### 方法二:通过创建 `/etc/rc.d/init.d/oracle10g` 脚本来实现自动启动 1. **创建并编辑脚本文件** 以 root 用户身份创建 `/...

    linux oracle 12c 自动启动.docx

    在Linux环境中,Oracle 12c数据库的自动启动是一个关键任务,确保系统重启后数据库能够及时、顺畅地恢复服务。以下将详细介绍如何设置Oracle 12c在Linux上实现开机自启动。 首先,我们需要理解Oracle数据库的启动...

    weblogic linux 自动启动

    以上就是配置WebLogic在Linux环境中自动启动的全过程,包括创建启动脚本、设置环境变量、处理启动参数、使用chkconfig配置服务以及日志管理和安全性考虑。正确执行这些步骤后,WebLogic服务器将在每次系统启动时自动...

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

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

    Linux攻略之如何修改系统的服务启动和停止

    这将确保当系统进入级别3时,sshd服务不会自动启动。 此外,也可以通过手动编辑/etc/rc.d/目录下的相应runlevel子目录来实现服务控制。在这个目录下,有如rc0.d、rc2.d等子目录,分别对应不同的启动级别。以rc3.d为...

    linux启动服务详解

    在Linux系统中,启动服务是指那些在系统启动时自动运行的后台进程,它们负责处理各种特定的任务。这些服务可以是系统管理、网络服务、定时任务等。下面详细介绍了一些常见的Linux启动服务及其相关的配置信息。 ####...

Global site tag (gtag.js) - Google Analytics