Linux自定义服务文件和常用systemctl指令

[Linux]systemctl管理服务及编译安装配置文件安装实现systemctl管理服务 1.熟悉清楚Linux的五个引导阶段,知道Systemd服务的特性。2.掌握系统服务控制的操作,能够针对服务名称,做到查看状态,关闭,启动3.掌握编译安装改配置文件来进行简便管理。 阅读详情

简介

Linux服务管理常用的两种方式为service和systemctl。service的方式在许多机器上已经弃用,建议使用systemctl方式。

systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能并发启动更多进程。

systemctl命令用法

指令功能
systemctl list-unit-files获取所用可用单元
systemctl list-units获取所有运行中的单元
systemctl status service获取service的状态
systemctl start/stop/estart/reload service改变service 的状态 启动、重启、停止、重载服务
systemctl enable/disable service是否开机自启
systemctl kill service强制结束服务
systemctl daemon-reload刷新systemd的配置文件

编写一个服务

  1. 在/lib/systemd/system/文件目录下添加.service服务文件;

  2. 编写.service文件

    [Unit]
    Description=Redis In-Memory Data Store
    After=network.target
    
    [Service]
    ## Type=forking,可以理解为 systemd 是一个类似 supervise 的守护进程,
    ## forking 表示服务管理器是系统 init 的子进程,用于管理需要后台运行的服务
    Type=forking
    ExecStart=/usr/local/bin/redis-server /path/to/redis.conf
    ExecStop=/usr/local/bin/redis-cli shutdown
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

上面可以看出.serive文件包括三个部分:[Unit]、[Service]、[Install]。

  • [Unit]

    指令描述
    Description对当前服务的简单描述
    After指定serive在哪些服务之后进行启动
    Before指定serive在哪些服务之前进行启动
    Requires指定服务依赖于哪些服务(强依赖关系,一旦所依赖服务异常,当前服务随之停止)
    Wants指定服务依赖于哪些服务(弱依赖关系,所依赖服务异常不影响当前服务运行)
  • [Service]

    指令描述
    Type定义启动类型。可设置:simple,exec,forking,oneshot,dbus,notify,idle。
    simpleExecStart 字段启动的进程为该服务的主进程
    forkingExecStart 字段的命令将以 fork() 方式启动,此时父进程将会退出,子进程将成为主进程
    ExecStart定义启动进程时执行的命令
    ExecStop停止服务时执行的命令
    EnvironmentFile环境配置文件,用来指定当前服务启动的环境变量
    ExecReload重启服务时执行的命令
    ExecStartPre启动服务之前执行的命令
    ExecStartPost启动服务之后执行的命令
    ExecStopPost停止服务之后执行的命令
    RemainAfterExit设为yes,表示进程退出以后,服务仍然保持执行
    RestartSec重启服务之前需要等待的秒数
    • KillMode:定义 Systemd 如何停止服务,可以设置的值如下:

      • control-group(默认值):当前控制组里面的所有子进程,都会被杀掉;

      • process:只杀主进程;

      • mixed:主进程将收到 SIGTERM 信号,子进程收到 SIGKILL 信号;

      • none:没有进程会被杀掉。

    • Restart:定义了退出后,Systemd 的重启方式。可以设置的值如下:

      • no(默认值):退出后不会重启;

      • on-success:当进程正常退出时(退出状态码为0),才会重启;

      • on-failure:当进程非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启;

      • on-abnormal:当被信号终止和超时,才会重启;

      • on-abort:当收到没有捕捉到的信号终止时,才会重启;

      • on-watchdog:看门狗超时退出,才会重启;

      • always:总是重启。

  • [Install]

    ·Install一般填为WantedBy=multi-user.target,表示多用户环境下服务被启用。·

Linux自定义系统服务 init系统:Linux系统使用init系统来管理服务的启动、停止和重启。传统的SysV init和较新的systemd都是常见的init系统。服务单元文件:在systemd中,服务由单元文件(通常为.service文件)定义,这些文件描述了服务的配置和行为。位置:通常位于或目录下。基本结构:包括[Unit][Service]和[Install]等部分,分别用于定义服务的元数据、服务的行为以及服务的安装选项。ExecStart:指定启动服务时要执行的命令。Restart。 阅读详情

相关推荐

Systemctl添加源码自定义系统服务

RedHat和CentOS7版本的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下。 每一个服务脚本.service结尾,一般会分为3部分:[Unit]、[Service]和[Install],以系统sshd服务为例,具体内容...

vayneX的博客 1545

[使用技巧] Linux创建自定义服务

Linux创建并部署自定义服务

weixin_52157994的博客 3996

Linux systemctl 命令

systemctl是Linux系统中用于管理systemd服务的核心命令,取代了传统的init系统。它提供启动、停止、重启服务等基础操作,支持服务状态查看、开机自启设置。systemd作为第一个启动的进程(PID1),具备并行启动、日志收集等功能,显著提升系统效率。常用操作包括服务管理(start/stop/enable)、单元文件配置(/etc/systemd/system/)、系统状态控制(关机/重启)等。通过journalctl可查看详细日志,systemd-analyze分析启动性能。管理员可创建自

nmxiaocui的博客 1272

编写 systemctl 入门

forking:服务将以fork分叉的方式启动,此时父进程将会退出,子进程将成为主进程。此部分中使用的参数不仅限于service类型的unit,对其它类型的 unit也是通用的,有关这些参数及其说明的完整列表,可运行命令 man systemd.unit 或访问 systemd.unit 中文手册。simple(默认值):服务为主进程启动,systemd 认为该服务将立即启动,服务进程不会 fork ,如果该服务要启动其他服务,则不要使用此类型启动,除非该服务是 socket 激活型。

JavaPub 1827

systemctl自定义systemd.service服务设置守护进程

介绍 Systemctl是一个systemd工具,主要负责控制systemd系统和管理系统服务 systemd即为system daemon,是linux下的一种init软件 有时我们将自定义程序注册为systemd service 进程管理交由系统管理,可以方便启动停止,亦可以实现 服务异常退出重启,开机自启动。 减少自定义程序服务管理的时间消耗。 参数 了解systemctl service自...

comprel的博客 1万+

linux之systemctl设置自定义服务

1 问题 在linux系统上设置自定义服务,或者让我的服务开机就运行起来,比如我们就以tomcat服务为例子 /usr/local/tomcat/bin/startup.sh 启动tomcat的脚本 /usr/local/tomcat/bin/shutdown.sh 关闭tomcat的脚本 /usr/local/tomcat/bin/restart.sh 重启tomcat的脚...

码莎拉蒂 1万+

【Linux】systemd 服务管理详解

本文全面介绍了Linux系统中systemd服务管理的基础知识和实用技巧。

weixin_51924657的博客 1244

【linux】linux中如何通过systemctl来创建和管理服务

Linux系统作为服务器和桌面操作系统的主力军,其稳定性和高效性得到了广泛认可。在Linux系统中,systemd是一个用于集中管理和配置类UNIX系统的守护进程、工具和库的集合,而systemctl则是systemd的主要工具,用于控制这些系统和服务。本文将详细介绍systemctl的用法,并结合实际案例帮助读者更好地理解和应用。

景天科技苑 2万+

Systemd服务单元

Systemd服务单元

教Linux的李老师 1425

PPPoE上网配置不求人:华为路由器命令行操作指南(2023最新版)

本文提供2023年最新的华为路由器PPPoE上网配置命令行操作指南。通过详细的步骤讲解,从连接设备、创建拨号接口、绑定PPPoE客户端到配置内网与NAT,手把手教你完成配置,并附有验证排错方法,助你轻松实现稳定上网。

s4t5u6v的博客 681

Windows 10/11蓝屏急救:SECURE_PCI_CONFIG_SPACE_ACCESS_VIOLATION报错全攻略(附安全模式+CMD修复)

本文针对Windows 10/11系统常见的SECURE_PCI_CONFIG_SPACE_ACCESS_VIOLATION蓝屏报错,提供了从诊断到修复的完整解决方案。文章深入剖析了该错误与系统安全功能“内存完整性”及pci.sys驱动的关系,并详细指导用户如何通过安全模式进行基础修复,以及使用命令提示符执行高级系统文件修复和注册表修改,帮助用户彻底解决蓝屏问题并恢复系统稳定。

echo99的专栏 969

详细讲解systemctl(附常用指令)

目录 •写在前面 •systemd和systemctl •systemd的配置文件目录 •主要服务功能类型 •服务状态 •常用指令 切换系统模式(文本、界面模式等) •systemctl配置文件的设置 •写在前面 我发现systemctl真的是很有用的东西,感觉使用这个机制可以帮我们解决很多问题,之前没怎么在意这个,现在想着把systemctl这个机制梳理一遍,然后把相关常用的...

BoCong-Deng的博客 4万+

WordPress主题开发实战:从零开始手把手教你创建自定义主题(含常用函数大全)

本文是一份WordPress主题开发实战指南,从零开始手把手教你创建自定义主题。内容涵盖主题核心文件结构、模板层级与循环机制、函数与钩子的运用,并附有详细的常用函数大全,帮助开发者彻底掌握主题开发的核心技能,实现从使用者到创造者的转变。

weixin_27943395的博客 256

systemctl 添加自定义启动服务(Add Custom Startup Service to Systemctl)

在Linux系统中,systemd 是一种非常强大的初始化系统和服务管理器,它用于启动和管理系统服务。systemctl 是与 systemd 配合使用的命令行工具,可以用来启动、停止、重启和管理系统服务。本篇文章将介绍如何利用 systemctl 创建和管理自定义启动服务,以便在系统启动时自动执行自定义脚本或程序。

Linux运维老纪的博客 1411

Shell数学计算(算术运算,加减乘除运算)

声明: 本篇博客的学习途径主要为以下网站和课堂讲解,发博客目的仅为学习使用,在该博客的基础上做了一定程序的简略和修改。 参考博客 : 原文链接:http://c.biancheng.net/shell/ Shell数学计算Shell数学计算数学计算命令对整数进行数学运算: (()) / let / $[] /exprShell (())Shell let命令bc命令:一款数学计算器在 Shell 中使用 bc 计算器 Shell数学计算 默认情况下,Shell 不会直接进行算术运算,而是把+两边的数据(数

AKUANer的博客 2万+

2025年第十六届蓝桥杯省赛C/C++大学B组 个人题解

也是写了写部分题解,朱波也是狠狠水了个省二┭┮﹏┭┮,毕竟许多算法知识没怎么学。

2301_80173664的博客 2432

Linux systemctl指令

`systemd` 是现代 Linux 发行版(如 Ubuntu、CentOS、Debian、Fedora)的标准初始化系统,取代了老旧的 `SysVinit`。它的职责不仅是启动系统,还包括管理服务、挂载点、定时任务和资源分配。

gongwanzhang的博客 924

单细胞数据分析(三):单细胞聚类分析

本文介绍了单细胞聚类分析的基本概念及其在单细胞RNA测序(scRNA-seq)数据中的应用。单细胞聚类分析通过将具有相似基因表达模式的细胞分组到不同的簇中,帮助识别细胞类型、状态和功能。文章详细展示了使用R语言中的Seurat包进行单细胞数据聚类分析的步骤,包括数据加载、降维、聚类和结果可视化。通过FindNeighbors和FindClusters函数,文章展示了如何基于降维数据进行细胞聚类,并选择合适的分辨率值。

专注生信领域 1910

Linux 服务管理两种方式service和systemctl

文章目录service命令systemctl命令systemctl命令兼容了servicesystemctl命令管理systemd的资源Unit.mount文件.service文件.target文件.wants文件 service命令 service命令其实是去/etc/init.d目录下,去执行相关程序,如下所示: # service命令启动redis脚本 service redis start # 直接启动redis脚本 /etc/init.d/redis start # 开机自启动 update-

拾年一剑 的专栏 1万+

康复训练监测系统:基于YOLOv8的患者动作规范识别

本文系统介绍了基于YOLOv8的康复训练动作规范识别系统,从理论背景、数据准备、模型训练、推理应用到UI界面,提供了完整技术链条及代码示范。希望对康复领域的智能监测应用提供参考和借鉴。

YOLO 453

YOLOv改进 | YOLOv11更换主干Backbone之MobileNetV2(轻量化主干网络结构--高效轻量移动模型)

本文提出将YOLOv11的主干网络替换为轻量化的MobileNetV2,以提升模型在移动端设备的部署效率。MobileNetV2通过倒残差结构和线性瓶颈层,显著减少了计算量和参数量(降至1M~3M),同时保持多尺度特征提取能力。实验表明,改进后的模型在移动设备上可实现20-30 FPS的实时检测,适用于手机APP、无人机和工业监控等场景。核心代码展示了倒残差块的实现,通过深度可分离卷积和通道扩展/压缩实现高效特征提取。

走向CTO的路上... 1461

Linux常用命令——systemctl

systemctl是 Linux 系统管理服务工具,用于控制systemd进程管理器中的服务单元(Unit)。它能启动、停止、重启服务,管理开机自启,监控服务状态等。​或通过sudo提升权限。

qq_26613259的博客 3478

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Linux使用systemctl管理服务

文章目录Linux使用systemctl管理服务0.基本介绍1.服务文件格式a.详细的说明b.例子2.服务指令3.可能出现的问题4.参考文章 Linux使用systemctl管理服务 0.基本介绍 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了。 systemctl 是系统服务管理器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起。 systemd有系统和用户区分;系统(/user/lib/systemd/syste

Harris-H的博客 1511

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Linux——systemctl 添加自定义服务

systemctl是RHEL 7 的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。 一、server文件位置 systemd有系统和用户区分;系统(/user/lib/systemd/system/)、用户(/etc/lib/systemd/user/),一般系统管理员手工创建的单元文件建议存放在/etc/sys...

blueicex2017的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Linux下使用systemctl启动服务失败

本文介绍了在Linux下使用systemctl启动服务失败时,通过journalctl工具查看systemd服务日志的方法。文章通过两个案例说明:第一个案例显示启动失败是由于缺少动态库,可通过检查库文件解决;第二个案例通过分析服务配置文件,发现可执行文件默认以守护进程方式运行导致失败,修改配置文件添加-debug参数后成功启动。文章最后提供了相关参考资料,为排查systemd服务启动问题提供了实用指导。

崔杰城的博客 5544

linux基于systemd自启守护进程 systemctl自定义服务傻瓜式教程

功能:systemd 是一个初始化系统(init system)和服务管理器,它负责在 Linux 系统启动时启动系统的核心服务和进程。它的任务是管理系统引导、服务管理、进程监控、资源管理等。systemd 提供了服务启动、停止、重启、日志记录等功能,并管理系统的运行状态。作用:启动和管理系统服务:systemd 会在系统启动时根据配置文件(服务单元文件)启动必要的系统服务(例如网络、日志记录、定时任务等)。

她的吻让他 2240
上一篇: 使用hsqldb 官方工具管理内嵌hsqldb——备份、恢复和可视化管理
下一篇: windows+Reids可视化工具RESP下载
Musclewl
博客等级 码龄9年 215粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值