System V

特点

缺点:

启动时间长,init是串行启动,只有前一个进程启动完,才会启动下一个进程

启动脚本复杂,init只是执行启动脚本,不管其他事情,脚本需要自己处理各种情况,这往往使得脚本变得很长很复杂

优点:

概念简单,只需要编辑脚本

启动顺序确定,严格按照启动数字的大小顺序执行,一个执行完毕再执行下一个,有益于错误排查

文件目录

/etc/init.d/

存放服务启动脚本

对于支持 service 的程序,安装的时候,会自动的在 /etc/init.d 目录添加一个配置文件

/etc/inittab

默认运行级别配置文件

Ubuntu18.04已经不存在了

/etc/rcN.d

存放每个启动级别需要启动的服务

运行级别

运行级别

说明

0

关机状态,系统默认运行级别不能设为0,否则不能正常启动

1

单用户工作状态,root权限,用于系统维护,禁止远程登陆

2

字符界面的多用户模式(不可访问网络,没有NFS))

3

字符界面的完整多用户模式,大多数服务器主机运行此级别(有NFS)

4

系统未使用,保留

5

图形界面的多用户模式,提供了图形桌面操作环境

6

系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

查看运行级别

runlevel

打印之前和当前的运行级别

如果某个运行级别不能确定用 N 表示

启动过程中会通知 utmp 当前的运行级别

lfp@legion:~$ runlevel

N 5

# ubuntu 18.04 实际链接到 systemctl

lfp@legion:~$ which runlevel

/sbin/runlevel

lfp@legion:/sbin$ ll

lrwxrwxrwx 1 root root 14 4月 20 22:12 runlevel -> /bin/systemctl*

切换运行级别

init N

N代表运行级别,init 0 关机,init 6重启

# ubuntu 18.04 链接到 Systemd,支持init命令

lfp@legion:~$ ll /sbin/init

lrwxrwxrwx 1 root root 20 4月 20 22:12 /sbin/init -> /lib/systemd/systemd*

运行级别对应的启动目录

# 有7个目录,对应7个运行级别

# rc,表示run command(运行程序),最后的d表示directory(目录)

rc0.d/ rc1.d/ rc2.d/ rc3.d/ rc4.d/ rc5.d/ rc6.d/ rcS.d/

每个目录下都是一些符号链接文件,指向/etc/init.d/目录下的脚本

命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字

对于以K (kill)开头的文件,系统将终止对应的服务

对于以S (start)开头的文件,系统将启动对应的服务

nn 表示启动顺序,数字小先执行

启动目录下使用符号链接,便于在不同的运行级别中统一管理启动脚本

系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件

runlevel S并不是直接给用户使用,而是用来为Single user mode作准备

启动过程

执行 /sbin/init程序,启动init进程(PID=1),是linux的父进程,其他所有进程都是它的子进程

init 读取 /etc/inittab文件,获知设定的运行级别

init 根据运行级别,去对应的/etc/rcN.d目录,启动目录下指定的程序(开机自启动)

服务管理工具

service, chkconfig

动作

指令

启动某服务

service httpd start

停止某服务

service httpd stop

重启某服务

service httpd restart

检查服务状态

service httpd status

删除某服务

chkconfig --del httpd

使服务开机自启动

chkconfig --level 5 httpd on

使服务开机不自启动

chkconfig --level 5 httpd off

显示所有已启动的服务

chkconfig --list

加入自定义开机自启服务

chkconfig --add test

查询某个服务是否开机自启

chkconfig --list | grep httpd

添加开机启动服务

添加启动脚本

在/etc/init.d目录下添加启动脚本,赋予可执行权限

在对应运行级别的启动目录下创建符号链接,指向/etc/init.d目录下的启动脚本

ln -s /etc/init.d/myservice /etc/rc5.d/S99myservice

或者

执行 chkconfig --add xxx

配置 rc.local

Upstart

简介

采用事件驱动模型,UpStart 可以:

更快地启动系统(有依赖关系的服务还是必须先后启动)

当新硬件被发现时动态启动服务

硬件被拔除时动态停止服务

目录

配置文件地址/etc/init

参考

linux+读取初始化文件,Linux 初始化系统 SystemV Upstart相关推荐

  1. linux读取手机文件,linux at命令和batch从输入或指定文件读取命令

    linux at命令和batch从输入或指定文件读取命令 2009-12-31 11:43:57   出处:https://www.yqdown.com linux at命令和 batch 从准则 输 ...

  2. linux读取内存文件,linux – 使用模块读取内核内存

    首先让我先说读任意内核内存是一件棘手的事!并且有很多方法可以做到这一点,它们的复杂程度和灵活性各不相同. 1)硬编码地址. 在内核版本的System.map文件中搜索它: # grep sys_cal ...

  3. linux的头文件下载,Linux内核头文件(linux headers)

    更新 Linux 内核头文件(linux headers) 三 8th, 2013 2,474 views | 发表评论 | Trackback 一般来说,如果不是自己编译 kernel,那么更新头文 ...

  4. linux账户初始化文件,Linux启动初始化配置文件浅析

    1)/etc/profile   登录时,会执行. 全局(公有)配置,不管是哪个用户,登录时都会读取该文件. (2)/ect/bashrc   Ubuntu没有此文件,与之对应的是/ect/bash. ...

  5. linux 打开关闭文件,Linux系统编程-文件打开关闭

    一.文件描述符 对于Linux而言,所有对设备或文件的操作都是通过文件描述符进行的.当打开或者创建一个文件的时候,内核向进程返回一个文件描述符(非负整数).后续对文件的操作只需通过该文件描述符,内核记 ...

  6. 分析linux相关日志文件,Linux日志系统与分析.pdf

    Linux日志系统与分析 1 目录  Linux日志系统简介  Linux日志分析  案例介绍: Linux日志入侵发现 Linux日志系统简介  日志的主要用途是系统审计.监测追踪和分析统计 ...

  7. xp和linux的引导文件,Linux与XP双系统中grub引导配置笔记

    今天自己试验了一下,恢复Linux启动的问题,现在感觉启动变得很方便了.在网上找了些资料,自己也总结了一种方法,下面介绍一下怎么解决. 一般,硬盘安装Linux都是用grub做引导,那么安装后,系统每 ...

  8. 怎么复制window上的内容到linux,怎样将文件从window系统复制到远程linux系统上

    怎样将文件从window系统复制到远程linux系统上 怎样将文件从window系统复制到linux系统上,其实有几种方法,好比,将windows上的文件共享出来,经过cifs协议mount到linu ...

  9. linux安卓手机文件夹,Android系统的手机文件夹目录详解

    一.文件夹 1./acct/ 系统回收站,删除的系统文件. 2./cache/ 缓存 3./data/ 用户的所有程序相关数据 app/ 所有用户安装的apk文件 app-private/ data/ ...

  10. linux 读取变量内容,linux sh 读取文件内容,if判读语句,变量var打印

    #!/bin/bash #1 读取文件 并显示 cat state.txt | while read line do echo $line done #2 读取文件 并显示 cat state.txt ...

最新文章

  1. Spring基于Java的JSR-250注解
  2. 《数据科学:R语言实现》——第1章 R中的函数
  3. 爬取了京东商城上的部分手机评论数据,仅供学习使用
  4. 梯度下降原理汇总(转载+整理)
  5. Dapper的正确使用姿势
  6. 【.NET Core项目实战-统一认证平台】第九章 授权篇-使用Dapper持久化IdentityServer4...
  7. 网易考拉向欧洲市场投入220亿,能掀起多大波澜?
  8. 校园导航系统(查询各景点信息,多个建筑点的最佳访问路径、任意点的建筑查询) 超详细!! 博主可答疑,代码免费给
  9. 小甲鱼python官网-小甲鱼零基础入门学习Python
  10. matlab调和均值滤波_求matlab均值滤波、中值滤波和领域平均滤波算法
  11. 建筑智能化资质办理条件
  12. MacBook苹果电脑翻盖自动开机及音效设置
  13. Wex5打包报错的解决办法
  14. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java小型超市货物仓储管理系统w8wry
  15. 求最大公约数,最小公倍数
  16. Steam账号注册--流程
  17. 计算机应用1.2版,201303《计算机应用基础》在线作1-2.doc
  18. 新版本jdk(9、11、12、13、14)特性
  19. 【Windows】快捷添加鼠标右键的菜单项
  20. 龙之谷服务器更新文件,全区全服 维护结束 更新至Ver.417

热门文章

  1. 窥探JAVA WEB
  2. Java全能手册火了!Redis/Nginx/Dubbo/Spring全家桶/高并发
  3. ElasticSearch 如何使用 TDigest 算法计算亿级数据的百分位数?
  4. 为什么我会放弃 Webpack 而选择 Vite
  5. “谷歌杀手”发明者,科学天才 Wolfram
  6. 只十分钟,唾手可得的工作机会就被我搞砸了!
  7. 微信「扫码支付」被诉侵犯专利权;苹果回应“iOS 13 频繁提醒 App 定位”;Python 2 退休 | 极客头条...
  8. 嵌入式智能国际大会图文直播:探索人工智能的前世今生
  9. 火了!评分9.7,这本Python书终于玩大了!
  10. 雷军:小米推动山寨机灭亡;苹果回应禁止第三方换电池;Javascript 引擎 V8 7.7 发布 | 极客头条...