chkconfig 服务的添加、顺序

2024-02-06 03:18
文章标签 服务 顺序 chkconfig

本文主要是介绍chkconfig 服务的添加、顺序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:http://blog.chinaunix.net/uid-346158-id-2131254.html


chkconfig --level 345 nfs off

--add name 这个选项增加一项新的服务,chkconfig 确保每个运行级有一项 启动(S) 或者 杀死(K) 入口。如有缺少,则会从缺省的init 脚本自动建立。
--del name 用来删除服务,并把相关符号连接从 /etc/rc[0-6].d 删除。

每个被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。



实例介绍: 安装Apache-ActiveMQ

#!/bin/bash
#
# chkconfig: 35 66 34
# description: Apache ActiveMQ
#

. /etc/rc.d/init.d/functions

ACTIVEMQ_USER=activemq
WORK_DIR=apache-activemq-5.4.2

case "$1" in
  start)
        su - ${ACTIVEMQ_USER} -c "cd ${WORK_DIR}; bin/activemq start"
        ;;
  stop)
        su - ${ACTIVEMQ_USER} -c "cd ${WORK_DIR}; bin/activemq stop"
        ;;
  restart|reload)
        su - ${ACTIVEMQ_USER} -c "cd ${WORK_DIR}; bin/activemq restart"
        ;;
  status)
        su - ${ACTIVEMQ_USER} -c "cd ${WORK_DIR}; bin/activemq status"
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload}"
        exit 2
esac

exit $RETVAL

将此脚本cp到/etc/init.d/里面后, cp activemq /etc/init.d/
运行:
chkconfig --add <script_name>
chkconfig --add activemq
#这里的
script_name要与/etc/init.d/下的相同。添加后,此命令会根据你在脚本中定义的三项数字来设定:
1)35 :runlevel,
2)66 :启动顺序
3)34 :shutdown顺序

chkconfig --add 其实就是执行了下面的语句:
ln -s /etc/rc.d/init.d/activemq /etc/rc.d/rc3.d/S66 activemq
ln -s /etc/rc.d/init.d/activemq /etc/rc.d/rc0.d/K34activemq
# 大写的S,代表start,其后紧跟启动顺序数字,然后是service name. 大写的K,代表kill,K或S后面的数字表示执行顺序,数字小的先执行。
# ls /etc/rc.d/rc0.d/ -l|grep act 
lrwxrwxrwx 1 root root 18 Jun 28 15:17 K34activemq -> ../init.d/activemq

chkconfig --add
activemq 我怎么没看到添加K34activemq的链接呢? 是要执行
chkconfig --level 35 activemq off 后才有:
# ll /etc/rc.d/rc3.d/|grep acti
lrwxrwxrwx 1 root root 18 Jun 28 15:59 K34activemq -> ../init.d/activemq
并且同时将删除启动链接.

如果你要删除/etc/init.d/下面的脚本,chkconfig --del 即可。
但是你不想删除该脚本,仅仅是让它不要开机启动,出了上面的chkconfig off命令外,也可以直接将
/etc/rc.d/rc[2-5].d/下面对应的S开头的链接改名为小写s开头即可.


系统在进入一个运行级别时,首先将该运行级别对应的目录中以K开头的脚本按设定顺序执行,然后再将以S开头的脚本按顺序执行。

===============================================

关机执行任务与开机有点儿不同,很多人以为运行级别目录里以K开头的会在关机时执行,其实不然,(2)里面已经说的很清楚了,正确的设置关机执行任务的步骤如下:

  1. 将要执行的任务携程脚本,加上可执行权限,放在/etc/init.d目录中如/etc/init.d/stopftp.sh
  2. cd到关闭系统所对应的运行级别目录/etc/rc0.d目录中,看一下S后面的数字,选取一个闲置的合适的数字
  3. 建立从/etc/init.d/stopftp.sh到/etc/rc0.d的软连接,代码如下:

  4. sudo ln -s /etc/init.d/stopftp.sh /etc/rc0.d/S24stopftp
这样就可以了,如果想在执行重启的时候也执行这个脚本,就用同样的方式建立一个到/etc/rc6.d/的软连接。

(5) 启动脚本的写法

用编辑器随便打开一个/etc/init.d目录里的启动脚本,会发现主代码段都是下面这种结构:

...
case "$1" instart)do start-thing;;;stop)do stop-thing;;;restart)do restart-thing;;;...
esac

为什么要这样写呢?你如果按这种结构写个启动脚本测试一下就会发现,若该脚本的软连接以S开头,则系统启动的时候执行start-thing代码段,若该脚本的软连接以K开头的话,则系统启动时执行stop-thing代码段(有一点儿例外的是运行级别0,因为0级别是关闭系统,所以/etc/rc0.d/下的以S开头的软连接也执行stop-thing段)。是不是很智能化,所以如果可以的话启动脚本最好写标准一些。如果你非写成普通的脚本,就几个命令,没有上面那个结构,建立以K或S开头的软连接会怎么执行呢?答案是全部执行。


http://cqulpj.blogbus.com/logs/68406641.html
============================================
linux不能自动关闭rc0.d目录下K开头程序的解决
以前找了很久,都没找到不能自动关闭k开头程序的解决办法,今天无意间看到一篇文章。试验了下,果然灵。

步骤如下:
先写一个脚本放在/etc/rc.d/init.d下,chmod -f 777  , 再
ln -s
/etc/rc.d/init.d/script_name  /etc/rc.d/rc0.d/K01script_name
ln -s /etc/rc.d/init.d/script_name  /etc/rc.d/rc6.d/K01 script_name ,同时也要
 ln -s 到 /etc/rc.d/rc3.d/S99
script_name 与/etc/rc.d/rc5.d/S99 script_name
  K开头的代表 系统 关闭的时候执行,S开头的代表开机的时候执行。注意 服务器 脚本编写的规范,因为有K开通的软链接并不一定会在关机的时候自动去执行,这是为什么呢?刚开始一直没搞明白,后来从网上看到,执行K脚本的时候会查询/var/lock/subsys/下是否有与K开头脚本同名的空 文件 名,如果没有就不去执行,所以要按照服务器脚本编写的规范,启动的时候要在/var/lock/subsys/先touch一个与K01后面同名的空文件.同时也要调用/etc/rc.d/init.d/functions能够接受start与stop命令信号,具体可以参考/etc/rc.d/rc文件

用/etc/rc.d/init.d/functions能够接受start与stop命令信号的意思是指
你在/etc/init.d/中的那个程序可以接受start和stop参数

这篇关于chkconfig 服务的添加、顺序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/682997

相关文章

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

web群集--nginx配置文件location匹配符的优先级顺序详解及验证

文章目录 前言优先级顺序优先级顺序(详解)1. 精确匹配(Exact Match)2. 正则表达式匹配(Regex Match)3. 前缀匹配(Prefix Match) 匹配规则的综合应用验证优先级 前言 location的作用 在 NGINX 中,location 指令用于定义如何处理特定的请求 URI。由于网站往往需要不同的处理方式来适应各种请求,NGINX 提供了多种匹

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于

Golang支持平滑升级的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。 使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。 一、平滑升级(优雅重启)的一般思路 一般情况下,要实现平滑

Golang服务平滑重启

与重载配置相同的是我们也需要通过信号来通知server重启,但关键在于平滑重启,如果只是简单的重启,只需要kill掉,然后再拉起即可。平滑重启意味着server升级的时候可以不用停止业务。 我们先来看下Github上有没有相应的库解决这个问题,然后找到了如下三个库: facebookgo/grace - Graceful restart & zero downtime deploy for G

Java后端微服务架构下的API限流策略:Guava RateLimiter

Java后端微服务架构下的API限流策略:Guava RateLimiter 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,API限流是保护服务不受过度使用和拒绝服务攻击的重要手段。Guava RateLimiter是Google开源的Java库中的一个组件,提供了简单易用的限流功能。 API限流概述 API限流通过控制请求的速率来防止

【微服务】Ribbon(负载均衡,服务调用)+ OpenFeign(服务发现,远程调用)【详解】

文章目录 1.Ribbon(负载均衡,服务调用)1.1问题引出1.2 Ribbon负载均衡1.3 RestTemplate整合Ribbon1.4 指定Ribbon负载均衡策略1.4.1 配置文件1.4.2 配置类1.4.3 定义Ribbon客户端配置1.4.4 自定义负载均衡策略 2.OpenFeign面向接口的服务调用(服务发现,远程调用)2.1 OpenFeign的使用2.1 .1创建

java后端服务监控与告警:Prometheus与Grafana集成

Java后端服务监控与告警:Prometheus与Grafana集成 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代的微服务架构中,监控和告警是确保服务稳定性的关键组成部分。Prometheus和Grafana是两个强大的工具,它们可以集成在一起,为Java后端服务提供实时监控和可视化告警。 服务监控的重要性 服务监控可以帮助我们实时了解服务的健