系统初始化进程与文件、systemd概述、单元类型、切换运行级别、查看系统默认默认运行、永久切换、常见的系统服务(centos)

init进程

init进程是Linux系统(“/sbin/init”)中的第一个进程,它是所有其他进程的祖先进程。init进程的进程号(PID)始终为1。它负责启动和停止系统中的所有其他进程,以及处理系统的各种系统级任务。

init进程的主要功能包括:

  1. 运行级别管理:init进程负责根据系统的运行级别启动相应的服务和进程。运行级别是Linux系统中的一种工作状态,包括单用户模式、多用户模式和关机模式等。
  2. 进程管理:init进程负责启动和停止系统中的其他进程,包括系统服务和用户进程。它根据系统配置文件(如/etc/inittab或/etc/init.d)来启动特定的进程。
  3. 系统初始化:当系统启动时,init进程负责执行系统初始化任务,例如加载驱动程序、设置系统参数、挂载文件系统等。
  4. 孤儿进程管理:当一个父进程退出时,init进程会接管它的子进程,并将它们的父进程设置为init进程。这样可以确保没有进程成为孤儿进程,防止资源泄露。
  5. 信号处理:init进程会接收和处理一些系统级别的信号,例如关机信号、重启信号等。

systemd概述

systemd 是一个系统和服务管理器,是 Linux 系统中的一个重要组件。它被设计为替代传统的 init 系统(如 SysV init)。systemd 提供了更快、更可靠的系统启动,并以并行的方式启动服务。以下是 systemd 的一些关键特点和功能:

  1. 并行启动:systemd 支持并行启动系统服务,可以显著缩短系统的启动时间。它会分析服务之间的依赖关系,并根据这些关系决定启动顺序。

  2. 单位文件:systemd 使用单位文件(unit files)来描述和配置系统服务。每个服务都有一个对应的单位文件,其中包括服务的启动命令、依赖关系、环境变量等信息。

  3. 服务管理:systemd 提供了各种命令和工具来管理系统服务。可以使用 systemctl 命令来启动、停止、重启、查询服务状态等。

  4. 日志管理:systemd 使用 journald 来管理系统日志。它采用二进制格式记录日志,提供了更高效的日志存储和查询机制,并支持日志的自动旋转和压缩。

  5. 事件和监控:systemd 支持基于事件和规则的服务管理,可以根据系统状态的变化来触发相应的操作。它还可以对服务进行监控,并在服务出现问题时进行自动恢复。

  6. 用户会话管理:systemd 可以管理用户会话,并提供一些功能如用户登录和注销的追踪,以及对用户会话的资源限制和管理。

systemd单元类型

单元类型扩展名说明
Service.service描述一个系统服务。
Socket.socket描述一个进程间通信的套接字。
Device.device描述一个内核识别的设备文件。
Mount.mount描述一个文件系统的挂载点。
Automount.automount描述一个文件系统的自动挂载点。
Swap.swap描述一个内存交换设备或交换文件。
Path.path描述一个文件系统中文件或目录。
Timer.timer描述一个定时器(用于实现类似cron的调度任务)。
Snapshot.snapshot用于保存一个systemd的状态。
Scope.scope使用systemd的总线接口以编程的方式创建外部进程。
Slice.slice描述居于Cgroup的一组通过层次组织的管理系统进程。
Target.target描述一组systemd的单元。

SysVinit概述

sysvinit是一个用于启动和管理Linux操作系统中初始化进程的工具。它是System V风格的init系统,是早期Linux发行版中使用的默认init系统。

sysvinit的工作原理是通过读取并解析/etc/inittab文件,确定要启动的进程和运行级别。运行级别定义了系统启动时要运行的特定进程集合。通过选择不同的运行级别,可以控制系统启动时要运行的进程。

sysvinit还提供了一些管理系统服务的工具,包括init、halt、reboot、shutdown等命令。通过这些命令,用户可以启动、停止、重启系统和服务。

然而,尽管sysvinit在早期很受欢迎并被广泛使用,但它存在一些缺点。它的进程管理方式较为简单,无法很好地管理并行启动和停止进程。此外,sysvinit的启动过程较为耗时,因为它是一个顺序启动的过程,需要逐个启动每个进程。

因此,随着时间的推移,其他更先进的init系统如systemd等逐渐取代了sysvinit,在现代Linux发行版中成为了默认的init系统。

SysVinit运行级别

运行级别Systemd的target说明
0target关机状态,使用该级别时将会关闭主机.
1rescue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护。
2multi-user.target用户定义/域特定运行级别。默认等同于3。
3multi-user.target字符界面的完整多用户模式,大多数服务器主机运行在此级别。
4multi-user.target用户定义/域特定运行级别。默认等同于3。
5graphical.target图形界面的多用户模式,提供了图形桌面操作环境。
6reboot.target重新启动,使用该级别时将会重启主机。

切换运行级别

1、查看系统的target

runlevel

显示结果中的两个字符分别表示切换前的目标、当前的目 标。若之前尚未切换过运行级别,则第1列将显示“N”。

2、查看系统启动默认的target

systemctl get-default

字符界面

3、init切换系统target

使用传统的init程序进行,使用与运行级别相对于的数字(0~6)作为命令参数。图形界面(5),字符模式(3)

init 5

4、systemctl切换系统target

systemctl isolate multi-user.target

init 0,init 6分别对应关机,与重启。

init 0
init 6

0对应= systemd的  "poweroff.target"   6对应 = systemd的 "reboot.target"目标

systemd关机

systemctl poweroff

systemd重启

systemctl reboot

永久切换 

以上切换均为临时切换,若有永久切换运行级别可通过ln(链接)命令指定当前系统的默认运行级别。

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/ system/default.target

-s 选项表示创建软链接; -f 表示强行删除任何已存 在的目标文件。

常见的系统服务(centos系统)

服务名称

用途简介

备注

atd

延期、定时执行任务

建议关闭

bluetooth

发现、认证蓝牙相关设备

建议关闭

crond

按预定周期执行计划任务

建议开启

irqbalance

多核心CPU处理器的调度支持

建议开启

kdump

记录内核崩溃时的内存信息

建议关闭

lym2-monitor

LVM管理及监控

建议开启

netfs

访问共享文件夹等网络文件系统

建议开启

network

配置及使用网卡、网络地址

建议开启

restorecond

SELinux安全机制的文件监控和恢复功能

建议关闭

rhnsd

访问Red Hat Network,获取通知、提交订阅等

建议关闭

rpcgssd

管理NFS(Network File System,网络文件系统)访问中的客户程序语境

建议关闭

saslauthd

基于文本的身份认证

建议关闭

smartd

监控本地硬盘的状态并发送故障报告

建议开启

smb

文件共享服务

建议关闭

sshd

提供远程登录和管理Linux主机的功能

建议开启

rsyslog

记录内核、系统的日志消息

建议开启

vsftpd

通过FTP(File Transfer Protocol,文件传输协议)提供文件上传、下载功能

建议关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingyu飞鸟

醒来觉得甚是爱你。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值