首页 > 其他分享 >管理系统服务 -- systemctl

管理系统服务 -- systemctl

时间:2023-12-27 15:37:57浏览次数:23  
标签:服务 target service 管理系统 -- systemctl my 单元


功能介绍

systemctl 是用于管理系统服务的命令行工具,常用于 Linux 系统中。提供了对系统服务(包括启动、停止、重启、启用、禁用等)的控制,以及对系统单元(units)的操作。 image.png

语法结构

systemctl 的基本语法结构为:

systemctl [option] [command] [unit]
  • option:选项,用于指定不同的操作。
  • command:命令,表示要对系统单元执行的操作(如启动、停止等)。
  • unit:系统单元的名称,可以是服务、套接字、设备等。

常用操作和示例

  • 启动服务:

    systemctl start service-name
    
  • 停止服务:

    systemctl stop service-name
    
  • 重启服务:

    systemctl restart service-name
    
  • 启用服务:

    systemctl enable service-name
    
  • 禁用服务:

    systemctl disable service-name
    

历史发展

  • systemctl 是 Systemd(一种系统和服务管理器)的一部分,在 Systemd 取代传统 init 系统(SysVinit)后成为系统服务管理的标准工具。
  • Systemd 通过并行化启动,提高了系统启动速度,并提供强大的管理功能。

systemctl 是管理系统服务的重要工具,提供对系统单元的灵活控制和管理。 systemctl 的高级语法和使用案例包括更多复杂的操作和功能,例如:

1. 查看系统状态和日志

  • 系统状态查看:

    systemctl status
    

    显示系统的当前状态,包括激活的单元、运行状态等信息。

  • 查看特定服务日志:

    journalctl -u service-name
    

    查看特定服务的日志信息,了解服务的运行状态、问题等。

2. 管理系统单元

  • 启动/停止多个服务:

    systemctl start service1 service2
    systemctl stop service1 service2
    

    批量启动或停止多个服务。

  • 启用/禁用多个服务:

    systemctl enable service1 service2
    systemctl disable service1 service2
    

    批量启用或禁用多个服务的自启动。

3. 管理系统的 target

  • 切换系统 target:

    systemctl isolate multi-user.target
    

    切换系统运行的目标 target,如切换到多用户模式。

  • 设置默认 target:

    systemctl set-default graphical.target
    

    设置系统默认启动的 target。

4. 高级控制选项

  • 强制重载配置文件:

    systemctl daemon-reload
    

    强制重新加载配置文件,使更改生效。

  • 重启到救援模式:

    systemctl rescue
    

    将系统重启到救援模式,用于修复系统问题。

  • 重启到固件设置界面:

    systemctl reboot --firmware-setup
    

    将系统重启到固件设置界面。

5. 执行权限管理

  • 提权执行命令:
    systemctl --user start service-name
    
    使用用户权限启动服务。

高级功能

对于 systemctl 的高级脚本和计划任务控制,可以使用 systemd 的单元文件(Unit files)来实现更复杂的任务控制和定时执行。 示例和说明:

1. 使用 systemd 单元文件进行高级脚本控制:

  1. 编写自定义服务单元文件:

    sudo nano /etc/systemd/system/my-script.service
    
  2. 在单元文件中定义服务:

    示例单元文件 my-script.service

    [Unit]
    Description=My Custom Script
    
    [Service]
    Type=oneshot
    ExecStart=/path/to/your/script.sh
    
    [Install]
    WantedBy=multi-user.target
    
  3. 重新加载 systemd 并启用服务:

    sudo systemctl daemon-reload
    sudo systemctl enable my-script.service # 标题
    sudo systemctl start my-script.service
    

创建自定义的 systemd 服务单元,通过 systemctl 控制启动和停止,并在系统启动时自动运行。

2. 使用 systemd 的定时器实现计划任务控制:

  1. 创建定时器单元文件:

    sudo nano /etc/systemd/system/my-backup.timer
    
  2. 定义定时器内容:

    示例定时器文件 my-backup.timer

    [Unit]
    Description=Run my backup script daily
    
    [Timer]
    OnCalendar=daily
    Persistent=true
    
    [Install]
    WantedBy=timers.target
    
  3. 关联定时器和服务:

    创建关联的服务单元文件 my-backup.service,并在定时器中指定要执行的服务。

  4. 重新加载 systemd 并启用定时器:

    sudo systemctl daemon-reload
    sudo systemctl enable my-backup.timer
    sudo systemctl start my-backup.timer
    

创建一个定时器,按照定义的日历计划(在这个示例中是每天)执行相关服务。


::: hljs-center 喜欢的话,请收藏 | 关注(✪ω✪) ……万一有趣的事还在后头呢,Fight!!(o^-^)尸~''☆ミ☆ミ……

:::

标签:服务,target,service,管理系统,--,systemctl,my,单元
From: https://blog.51cto.com/xingjia/9000380

相关文章

  • IPV4无法连接到网络原因
    IPV4无法连接到网络可能是由于多种原因造成的。以下是一些可能的原因及其解决方案:IPv4连接问题:检查你的连接方式,是自动获取IP地址还是手动输入IP地址。如果你是PPPOE拨号上网(如ADSL),则需要自动获取IP地址。如果是小区宽带或公司网络,可能需要输入管理员给你的指定IP地址。如果你的网......
  • 香橙派5plus从ssd启动Ubuntu
    官方接口图我实际会用到的就几个接口,背面的话就一个M.2固态的位置:其中WIFI模块的接口应该也可以插2230的固态,不过是pcie2.0的速度,背面的接口则是pcie3.0*4的速度,差距还是挺大的。开始安装系统准备工作一张内存卡(如果买的时候没有emmc的话)下载并安装balenaEtcher一个m.......
  • 嵌入式的485总线介绍和应用
    在嵌入式系统中,通信是不可或缺的一部分,而RS-485总线协议因其长距离传输、多设备连接、抗干扰等特点,在工业自动化等领域得到广泛应用。本文将介绍RS-485总线的基本原理、特点以及在嵌入式系统中的应用,并提供详细的代码演示,帮助读者理解和应用RS-485总线。1.RS-485总线的基本原理RS-......
  • 新_旧版本 QT 下载,全攻略【省资源下载币专用】
    看到好多朋友找不到指定版本的QT下载路径,特此更新一篇新/旧版本QT下载攻略收藏一下吧,需要的时候方便查找,能为你省下好多资源下载币。通过图示可以看出,新旧版本的界限并没有那么明晰,如果你需要的版本两个链接都有,可以根据Lastmodified来按需下载。(这里写目录标题)新版本:(版本......
  • 光纤收发器三大疑问
    光纤收发器是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也被称之为光电转换器。它一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中,且通常定位于宽带城域网的接入层应用。在安防行业里光纤收发器已经是我们......
  • LinkSLA管家式运维:为企业打造定制化 IT 支持体系
    引言在数字化转型的浪潮中,企业信息系统繁多,涉及人员复杂,且企业经营管理活动对IT系统的依赖程度越来越高。传统的运维模式已经不能满足企业对运维工作全面性、灵活性、稳定性和安全性的需求。管家式运维作为一种新型服务模式,以其个性化和全面性的服务理念,为企业带来了更为精细和高效......
  • 算法学习笔记六一topk问题
    目录什么是topk问题解决方法代码示例(堆排序)什么是topk问题Top-k问题是指在一个元素集合中找出前k个最大或最小的元素。这个问题在很多实际场景中都有应用,例如在大数据处理中获取最大的k个元素、搜索引擎中的搜索结果排序等。解决方法堆排序:使用最小堆或最大堆来解决To......
  • 贪吃蛇login.js代码
    // pages/login/login.jsPage({  /**   * 页面的初始数据   */  data: {    username:"",    password:"",  },  usernameinput(e){    this.setData({      username:e.detail.value    })  },  passwordinput(e){    this.setDat......
  • 嵌入式系统中的LwIP网络协议栈介绍与应用实践
    引言:在嵌入式系统中,网络通信是不可或缺的一部分,而LwIP(LightweightIP)作为一个轻量级的网络协议栈,被广泛应用于各种嵌入式平台。本篇博客将深入介绍LwIP的特点、原理以及在嵌入式系统中的应用,旨在为开发者提供清晰的理解和实际应用指南。1.LwIP的特点与原理:轻量级设计:LwIP被设计......
  • java.net.MalformedURLException: no protocol异常处理
    摘要:本篇博客讨论了Java应用程序中可能遇到的java.net.MalformedURLException:noprotocol异常,并提供了解决方案。我们首先介绍了该异常的错误信息和可能的原因,然后提供了两种解决方案,一种是确保URL包含正确的通信协议,另一种是通过URL编码和解码来处理特殊字符和编码问题。我们......