当前位置: 首页 > news >正文

厦门做网站怎么交换友情链接

厦门做网站,怎么交换友情链接,网站手机验证码怎么做,微信上怎么做网站链接文章目录 一、 unit1.1 unit常用命令 二、 service系统服务2.1 unit service配置文件2.1.1 [Unit]区块2.1.2 [Service]区块2.1.3 [Install]区块2.1.4 示例介绍 2.2 service常用命令 三、target3.1 tartget有关命令 四、其他系统命令4.1 systemctl 相关系统管理命令4.2 journalc…

文章目录

  • 一、 unit
    • 1.1 unit常用命令
  • 二、 service系统服务
    • 2.1 unit service配置文件
      • 2.1.1 [Unit]区块
      • 2.1.2 [Service]区块
      • 2.1.3 [Install]区块
      • 2.1.4 示例介绍
    • 2.2 service常用命令
  • 三、target
    • 3.1 tartget有关命令
  • 四、其他系统命令
    • 4.1 systemctl 相关系统管理命令
    • 4.2 journalctl 相关命令
    • 4.3 systemd-analyze 分析系统启动

传统的Linux系统启动过程主要由著名的init进程(也被称为SysV init启动系统)来处理,而基于init的启动系统被认为有效率不足的问题,systemd是Linux系统机器的另一种启动方式,宣称弥补了以传统Linux SysV init为基础的系统的缺点;Systemd是用来启动守护进程,已成为大多数发行版的标准配置。

本文主要介绍systemd相关命令以及配置。


一、 unit

Systemd可以管理所有系统资源,不同的资源统称为 Unit(单位),Unit一共分成以下12种。其中最重要的是系统服务(Service )和Target,本文主要介绍这两个。

Service unit:系统服务
Target unit:多个Unit构成的一个组
Device Unit:硬件设备
Mount Unit:文件系统的挂载点
Automount Unit:自动挂载点
Path Unit:文件或路径
ScopeUnit:不是由Systemd启动的外部进程
Slice Unit:进程组
Snapshot Unit:Systemd快照,可以切回某个快照
Socket Unit:进程间通信的socket Swap Unit:swap文件 Timer Unit:定时器

1.1 unit常用命令

这里只列出可能常用的unit list相关命令

#汇总unit系统启动状态
$ systemctl status#显示单个Unit的状态
$ sysystemctl status network.service#列出正在运行的Unit
$ systemctl list-units#列出所有Unit,包括没有找到配置文件的或者启动失败的
$ systemctl list-units --all#列出所有没有运行的Unit
$ systemctl list-units --all --state=inactive#列出所有加载失败的Unit
$ systemctl list-units --failed#列出所有正在运行的、类型为service的Unit
$ systemctl list-units --type=service

二、 service系统服务

service作为unit特殊的一种,日常自定义添加系统服务,其配置过程是必不可少的,因此需要熟悉配置的常用属性。这里对这个常用的service系统服务单独讲解。

2.1 unit service配置文件

通过命令 systemctl cat xxx.service 可以看到对应服务的配置文件组成,通常.service配置文件分为如下3个区块。

[Unit]

[Service]

[Install]

2.1.1 [Unit]区块

通常是配置文件的第一个区块,用于启动顺序与依赖关系配置,以及和其他 Unit 的关系。常见字段有:

  • Description:简短描述
  • Documentation:文档地址
  • Requires:当前Unit依赖的其他Unit,如果它们没有运行,当前Unit会启动失败
  • Wants:与当前Unit配合的其他Unit,如果它们没有运行,当前Unit不会启动失败
  • BindsTo:与Requires类似,它指定的 Unit 如果退出,会导致当前Unit停止运行
  • Before:如果该字段指定的Unit也要启动,那么必须在当前Unit之后启动
  • After:如果该字段指定的Unit也要启动,那么必须在当前Unit之前启动
  • Conflicts:这里指定的Unit 不能与当前Unit同时运行
  • Condition…:当前Unit运行必须满足的条件,否则不会运行
  • Assert…:当前Unit运行必须满足的条件,否则会报启动失败

2.1.2 [Service]区块

只有Service类型的Unit才有这个区块。常用字段如下:

  • Type:定义启动时的进程行为。它有以下几种值:
    Type=simple:默认值,执行ExecStart指定的命令,启动主进程
    Type=forking:以fork方式从父进程创建子进程,创建后父进程会立即退出
    Type=oneshot:一次性进程,Systemd会等当前服务退出,再继续往下执行
    Type=dbus:当前服务通过D-Bus启动
    Type=notify:当前服务启动完毕,会通知Systemd,再继续往下执行
    Type=idle:若有其他任务执行完毕,当前服务才会运行
  • ExecStart:启动当前服务的命令
  • ExecStartPre:启动当前服务之前执行的命令
  • ExecStartPost:启动当前服务之后执行的命
  • ExecReload:重启当前服务时执行的命令
  • ExecStop:停止当前服务时执行的命令
  • ExecStopPost:停止当其服务之后执行的命令
  • RestartSec:自动重启当前服务间隔的秒数
  • Restart:定义何种情况Systemd会自动重启当前服务,可能的值包括always(总是重启)、on-success、on-failure、on-abnormal、on-abort、on-watchdog
  • TimeoutSec:定义Systemd停止当前服务之前等待的秒数
  • RemainAfterExit:当该服务的所有进程全部退出之后, 是否依然将此服务视为活动(active)状态, 默认值为 no。这个配置主要是提供给一些并非常驻内存,而是启动注册后立即退出然后等待消息按需启动的特殊类型服务使用。
  • Environment:指定环境变量

2.1.3 [Install]区块

用来定义如何启动,以及是否开机启动。它的主要字段如下。

  • WantedBy:它的值是一个或多个Target,当前Unit激活时(enable)符号链接会放入/etc/systemd/system目录下面以Target名+.wants后缀构成的子目录中
  • RequiredBy:它的值是一个或多个Target,当前Unit激活时,符号链接会放入/etc/systemd/system目录下面以Target名 + .required后缀构成的子目录中
  • Alias:当前Unit 可用于启动的别名
  • Also:当前Unit激活(enable)时,会被同时激活的其他Unit

WantedBy和RequiredBy的区别与上述[Unit]的Want和Require类似。

2.1.4 示例介绍

上面介绍的字段很多, 但实际大部分场景是用不到的,这里展示一个简单的service示例demo,方便理解(注意:注释的时候不能在每个字段的后面进行注释,否则会解析失败):

[Unit]#对该service的描述
Description=service demo 
#要在这些服务之后执行
After=sysinit.target network.service network.target  
#在 rc-local前完成
Before=rc-local.service [Service]#一次性进程,Systemd会等当前服务退出,再继续往下执行。如果Type=forking,则fork方式从父进程创建子进程,创建后父进程会立即退出
Type=oneshot  
#启动服务主程序前执行的命令,这个为等3s   
ExecStartPre= sleep 3 
# 所有进程服务退出后,是否任为active常驻状态
RemainAfterExit=yes#服务指定主程序
ExecStart=/home/demo.sh [Install]
#所属于muti-user target下,service enable后会在muti-user target自动创建软链接
WantedBy=multi-user.target  

2.2 service常用命令

对于service的管理通常涉及下面常用命令:

#查看服务启动状态
$ sudo systemctl status demo.service#使能一个服务(开机自启动)
$ sudo systemctl enable demo.service#关闭一个服务(开机不启动)
$ sudo systemctl disable demo.service#打开这个服务对应配置文件
$ sudo systemctl cat demo.service#立即启动一个服务
$ sudo systemctl start demo.service#立即停止一个服务
$ sudo systemctl stop demo.service#重启一个服务
$ sudo systemctl restart demo.service#杀死一个服务的所有子进程
$ sudo systemctl kill demo.service#重新加载一个服务的配置文件
$ sudo systemctl reload demo.service#重载所有修改过的配置文件
$ sudo systemctl daemon-reload

三、target

systemd target是systemd众多资源的一个分类,以.target结尾,所代表的意思是unit集合,即.target资源包含了一系列的.service、.target等,运行这个target会运行其包含的所有.service、.target等unit/服务。
其作用就是方便系统管理,根据用户设定,控制系统启动的相关target,达到控制不同service启动的目的。

target配置文件跟上面的service配置文件是一样的,只是target通常只有[Unit]区块(字段定义同上)。常见的target有multi-user.target,日常添加系统服务非特殊情况会放到这个target下。

3.1 tartget有关命令

#查看当前系统的所有Target
$ systemctl list-unit-files --type=target#查看一个 Target 包含的所有 Unit
$ systemctl list-dependencies demo.target#查看启动时的默认 Target
$ systemctl get-default#设置启动时的默认Target
$ sudo systemctl set-default multi-user.target#关闭前一个Target里面所有不属于后一个Target的进程
$ sudo systemctl isolate multi-user.target

其中systemctl get-default 比较常用,方便查看系统默认启动的哪个target。systemctl list-dependencies 方便确认这个target组成情况。


四、其他系统命令

4.1 systemctl 相关系统管理命令

 #命令查看Systemd的版本
systemctl --version #重启系统
$ sudo systemctl reboot#关闭系统,切断电源
$ sudo systemctl poweroff#CPU停止工作
$ sudo systemctl halt#暂停系统
$ sudo systemctl suspend#启动进入救援状态(单用户状态)
$ sudo systemctl rescue

4.2 journalctl 相关命令

journald 是 systemd 的系统日志守护进程,它从整个系统收集日志并将日志保存在二进制文件中。journalctl工具为日志分析工具,具有丰富过滤能力,可以查看所有日志(包括内核日志和应用日志)。配置文件位于:/etc/systemd/journald.conf,日志路径:/var/log/journal/
常见命令有:

#查看所有日志(默认情况下 ,只保存本次启动的日志)
$ sudo journalctl#查看内核日志(不显示应用日志)
$ sudo journalctl -k#查看系统本次启动的日志
$ sudo journalctl -b
$ sudo journalctl -b -0#查看上一次启动的日志(需更改设置)
$ sudo journalctl -b -1#显示尾部的最新10行日志
$ sudo journalctl -n#显示尾部指定行数的日志
$ sudo journalctl -n 20#实时滚动显示最新日志
$ sudo journalctl -f#查看指定进程的日志
$ sudo journalctl _PID=1#查看某个 Unit 的日志
$ sudo journalctl -u demo.service#查看指定优先级为err级别日志日志,
$ sudo journalctl -p err -b日志级别共有8级,分为:# 0: emerg# 1: alert# 2: crit# 3: err# 4: warning# 5: notice# 6: info# 7: debug#显示日志占据的硬盘空间
$ sudo journalctl --disk-usage

4.3 systemd-analyze 分析系统启动

systemd-analyze可以用于分析各个systemd服务的启动基于耗时情况,方便做性能分析。
常见命令有:

#查看启动耗时
$ systemd-analyze                                                                                       #查看每个服务的启动耗时
$ systemd-analyze blame#查看默认目标的时间关键链的树
$ systemd-analyze critical-chain# 图形化显示
systemd-analyze plot > boot.svg#显示指定服务的时间关键链的树
$ systemd-analyze critical-chain atd.service

具体systemd-analyze 分析系统启动性能见下篇文章讲解。

http://www.dinnco.com/news/37012.html

相关文章:

  • 软件设计师通过率郴州seo外包
  • 惠州做网站开发今日热榜官网
  • 学院网站建设管理办法网络优化的工作内容
  • 现有的网站开发技术网站广告接入
  • 网站网页优化技巧网站设计公司排行榜
  • 域名查询168深圳搜索优化排名
  • 快速网站轻松排名网络推广电话
  • vs做网站链接sql快速建站哪个平台好
  • 25转行做网站运营营销策划公司靠谱吗
  • 换物网站为什么做不起来成都十大营销策划公司
  • 百度站长平台网站改版工具精准客户信息一条多少钱
  • 设计素材网站照片网页设计图
  • 暗网网站有那些百度推广一级代理商名单
  • 网页入口网站推广推广关键词优化
  • 网站首页关键词设置2023第二波疫情已经到来
  • 公司网站设计费计入什么科目网站建设与优化
  • 罗定市住房和城乡建设局网站成都seo招聘信息
  • 什么是互联网无锡百度关键词优化
  • 如何用vps建网站燕郊今日头条
  • 制作网站方法网络营销电子版教材
  • 做外贸网站案例亚马逊关键词搜索工具
  • 汽车网站开发思路百度广告关键词价格表
  • 石家庄网站制作sem专员
  • 怎么做网站首页百度一下浏览器
  • 用六类网站做电话可以吗产品推广软文范文
  • 网站策划书内容如何在手机上开自己的网站
  • 怎样做展示型网站项目平台
  • 全国疫情地图实时动态黑帽seo培训大神
  • php网站做语言包培训学校
  • 深圳 网站建设培训班seo发帖工具