systemd--systemctl

systemd

POST---BOOT Sequence ---bootloader---kernel+initramfs(initrd)--rootfs---/sbin/init

init :

centos5:sysv init

centos6:unstart

centos7:systemd

systemd新特性:

系统引导时实现服务并行启动;

按需激活进程

系统状态快照

基于依赖关系定义服务控制逻辑

核心概念:unit

配置文件进行标识和配置;文件中主要包含系统服务,监听socket,保存系统快照以及其他与init相关的信息

保存至:/usr/lib/systemd/system

/run/systemd/system

/etc/systemd/system

ls -ltr /lib/systemd/system/runlevel*.target

unit的类型:

service unit:文件扩展名为.service,用于定义系统服务

target unit:文件扩展名为.target,用于模拟实现运行级别;

device unit:文件扩展名为.device,用于定义内核识别的设备;

mount unit:.mount定义文件系统挂载点:

socket unit:.socket,用于标识进程间通信用的socket文件

Snapshot unit:.snapshot,管理系统快照;

swap unit:.swap,用于标识swap设备

automount unit:.automount,文件系统的自动挂载点;

path unit:.path,用于定义文件系统中的 一个文件或者目录

关键特性:

基于socket的激活机制:socket与服务程序分离;

基于bus的激活机制;

基于device的激活机制;

基于path的激活机制;

系统快照:所有unit的当前状态保存于持久存储设备中;

向后兼容sysv init 脚本

不兼容:

systemctl命令固定不变

非由systemd启动的服务,systemctl无法与之通信

管理系统服务:

CentOS 7:service unit

注意:能兼容早期的服务脚本

命令:systemctl COMMAND name.service

启动:service name start ==> systemctl start name.service

停止:service name stop ==> systemctl stop name.service

重启:service name restart ==> systemctl restart name.service

状态:service name status ==> systemctl status name.service

条件式重启:service name condrestart ==》 systemctl try-restart name.service

重载或重启服务:systemctl reload-or-restart name.service

重载或条件式重启服务:systemctl reload-or-try-restart name.service

禁止设置为开机自启:systemctl mask name.service

取消禁止设置为开机自启:systemctl unmask name.service

查看服务当前激活状态:systemctl is-active name.service

查看所有已经激活的服务:systemctl  list-units --type service

查看所有服务:systemctl  list-units --type service --all

chkconfig命令的对应关系:

设定某个服务开机自动启动:chkconfig name on ==> systemctl enable name.service

禁止:chkconfig name off ==> systemctl disable name.service

查看所有服务的开机启动状态:

chkconfig --list ==> systemctl list-unit-files --type service

查看服务是否开机自动启动:systemctl  is-enabled name.service

查看服务的依赖关系:systemctl list-dependencies name.service

targe units;

unit配置文件:.target

运行级别:

0:runlevel0.target,poweroff.target

1: runlevel1.target,rescue.target

2: runlevel2.target,multi-user.target

3: runlevel3.target,multi-user.target

4: runlevel4.target,multi-user.target

5:runlevel5.target,graphical.target

6: runlevel6.target,reboot.target

切换级别:

init N ==> systemctl isolate name.target

查看级别:

runleve ==> systemctl list-units -type target --all

获取默认运行级别:

/etc/inittab ==> systemctl get-default

设置默认运行级别:

/etc/inittab ==> systemctl set-default multi-user.target

或者

ln -svf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

或者

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

切换至紧急救援模式:

systemctl rescue

切换至emergency模式:

systemctl emergency

其他常用命令:

关机:systemctl halt ,systemctl poweroff

重启:systemctl reboot

挂起:systemctl suspend

快照:systemctl hibernate

快照并挂起:systemctl hybird-sleep

时间: 2024-07-30 09:00:55

systemd--systemctl的相关文章

centos7 中 systemd systemctl管理服务的命令

背景: centos7 和 6的重大改变 对于系统管理员而言,系统的服务管理是一件很日常和很重要的工作,而7在6的基础上有了很大的改变,就连命令都完全不一样了.所以要拥抱变化,学习7是如何进行服务的管理和控制的. system和systemctl的初探 Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器. Systemd是一个系统管理守护进程.工具和库的集合,用于取代System V初始进程.Systemd的功能是用于集中管理和配置类UNIX系统. 在Linu

Systemd管理

写在前面 前文<开机流程分析>中讲述在用户层阶段有对进程管理的工具有systemd和init两种.在CentOS5,6上面使用init作为进程管理的工具,在CentOS7 上面使用sytemd对进程进行管理,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程.由于init对进程的管理方式以被人所熟知,所以本文主要讲述Sytemd对进程的管理,以及二者的在使用上的异同. init局限性 启动时间长,init进程是串行启动,只有前一个进程启动完毕,才会启动下一个进程. 启动脚本复杂.Ini

Zabbix-3.0.3结合Grafana-3.1.0给你想要的绘图

导读 Grafana 是 Graphite 和 InfluxDB 仪表盘和图形编辑器.Grafana 是开源的,功能齐全的度量仪表盘和图形编辑器,支持 Graphite,InfluxDB 和 OpenTSDB.Grafana 主要特性:灵活丰富的图形化选项:可以混合多种风格:支持白天和夜间模式:多个数据源:Graphite 和 InfluxDB 查询编辑器等等. Grafana安装 Linux上(CentOS,Fedora,OpenSuse,Redhat)安装Grafana源码包 1.可以使用y

mysql中的日志(一)

如果你是一个Web开发人员,你需要参考各种日志文件,以调试应用程序或改善其性能.日志是故障排除的最佳手段.对于著名的MySQLdatabase服务器(或MariaDB服务器),你需要参考以下日志文件: The Error Log. 包含服务器运行时发生的错误信息(也服务器启动和停止) The General Query Log. 这是mysqld运行的常规记录(连接,断开连接,查询) The Slow Query Log. slow SQL statements 这篇文章并不是指二进制日志.它需

apache-tomcat7 在rhel7下的安装记录

tomcat7官方下载地址:http://tomcat.apache.org/download-70.cgi 最新版本:7.0.73 安装tomcat之前需安装jdk 下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html   #下载rpm包安装 安装jdk步骤: [[email protected] ~]# rpm -ivh  jdk-8u102-linux-

[CentOS 7系列]系统服务管理

1.任务计划 cron是一个linux下的定时执行工具(相当于windows下的scheduled task),可以在无需人工干预的情况下定时地运行任务task.cron服务提供crontab命令来设定cron服务的. ▎常用参数: 命令 作用 crontab -u 设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数  crontab -l 列出某个用户cron服务的详细内容  crontab -r 删除某个用户的cron服务 crontab -e 编辑某个用户的cron

Grafana3.1.0安装步骤

下载grafana以及安装 Zabbix plugin for Grafana官网给出了rpm和源码包的安装方法 sudo yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.0-1468321182.x86_64.rpm # ... configure your options in /etc/grafana/grafana.ini then sudo systemctl start grafana-server

详解:Ubuntu 下安装和配置 FTP

FTP(文件传输协议)是一个较老且最常用的标准网络协议,用于在两台计算机之间通过网络上传/下载文件.然而, FTP 最初的时候并不安全,因为它仅通过用户凭证(用户名和密码)传输数据,没有进行加密. 警告:如果你打算使用 FTP, 需要考虑通过 SSL/TLS配置 FTP 连接.否则,使用安全 FTP,比如 SFTP 会更好一些. 在这个教程中,我将向你们展示如何在 Ubuntu 中安装.配置并保护 FTP 服务器(VSFTPD 的全称是 "Very Secure FTP Deamon"

Centos7 之安装Logstash ELK stack 日志管理系统

一.介绍 The Elastic Stack - 它不是一个软件,而是Elasticsearch,Logstash,Kibana 开源软件的集合,对外是作为一个日志管理系统的开源方案.它可以从任何来源,任何格式进行日志搜索,分析获取数据,并实时进行展示.像盾牌(安全),监护者(警报)和Marvel(监测)一样为你的产品提供更多的可能. Elasticsearch:搜索,提供分布式全文搜索引擎 Logstash: 日志收集,管理,存储 Kibana :日志的过滤web 展示 Filebeat:监控

openstack项目【day24】:KVM部署

本节内容 虚拟化支持 软件准备 检查CPU虚拟化支持 安装软件包 激活并启动libvirtd服务 网络模式 配置桥接网络 验证网络 尝试连接Hypervisor 创建虚拟机 虚拟机操作 一.虚拟化支持 KVM虚拟化需要CPU的硬件辅助虚拟化的支持,用来加速,在本环境中为Intel的CPU,使用的Intel VT技术.(该功能在有些主机里面可能需要去BIOS里面开启) 二.软件准备 操作系统: CentOS 7.2 软件包: CentOS自带yum源 关闭防火墙 关闭SELinux:将 /etc/