NipGeihou's blog NipGeihou's blog
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档

NipGeihou

我见青山多妩媚,料青山见我应如是
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档
  • Linux

    • CentOS

    • Ubuntu

    • 环境安装

    • 常用命令

      • 常用命令
      • 网络配置 - ip
      • 防火墙 - iptables
      • 防火墙 - ufw
      • 服务管理 - systemd
      • 数据包分析器 - tcpdump
      • 网络工具 - netstat
      • 路由追踪-traceroute
      • 编辑器 - Vim
      • 编辑器 - nano
      • 资源监控 - glances
      • 解压缩工具 - tar
      • 后台运行 - nohup
      • 删除命令 - rm
      • SSH密钥对 - ssh-keygen
      • 守护进程 - systemd(Systemctl)
        • 基本命令 - systemctl
        • 基本命令 - service
        • 自定义Service
          • 特点
          • 创建
          • 配置
          • Unit.After
          • Service.Restart
        • 参考
      • 文件同步 - rsync
      • 路由追踪 - NextTrace
      • 虚拟终端 - screen
      • YAML处理器 - yq
    • 常用软件

    • 最佳实践

    • 通用

  • Docker

  • 云原生

  • Kubernetes

  • KubeSphere

  • K3S

  • 笔记

  • PVE

  • 维修

  • DevOps

  • 云服务

  • 路由器

  • Hyper-V

  • Windows

  • macOS

  • 运维
  • Linux
  • 常用命令
NipGeihou
2024-11-12
目录

守护进程 - systemd(Systemctl)

# 基本命令 - systemctl

# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启用服务(开机运行)
sudo systemctl enable my_service.service

# 运行服务
sudo systemctl start my_service.service

# 检查服务状态
sudo systemctl status my_service.service

# 停止服务
sudo systemctl stop my_service.service

# 重启服务
sudo systemctl restart my_service.service

# 查看日志
journalctl -u my_service.service

# 基本命令 - service

Tip

systemd 系统的管理工具为 systemctl ,但为兼容传统的 SysVinit 系统管理工具 service ,因此在 systemd 的系统上, service 命令通常会直接调用 systemctl 来兼容旧版用法。就个人而言,相较于 systemctl 的 systemctl start [服务名] 顺序,更喜欢使用 service [服务名] start 。

service [服务名] reload

chkconfig [服务名] on

chkconfig [服务名] off

service [服务名] start

service [服务名] status

service [服务名] stop

service [服务名] restart

# 自定义 Service

# 特点

  • 可开机启动
  • 进程守护(挂了自动重启)

# 创建

systemd 服务文件存放在 /etc/systemd/system 目录下,文件名以 .service 结尾

sudo nano /etc/systemd/system/my_service.service

# 配置

[Unit]
Description=My Custom Service  # 服务的描述
After=network.target           # 指定服务启动顺序,网络启动后再启动

[Service]
ExecStart=/path/to/your/command  # 服务的启动命令,需填写完整路径
ExecStop=/path/to/your/stop_command  # 停止服务的命令(可选)
Restart=on-failure              # 指定重启策略,如 on-failure

[Install]
WantedBy=multi-user.target      # 设定服务在多用户模式下启动

# Unit.After

指定服务启动顺序

  • network.target : 在基础网络服务准备好后启动,但不确保网络连接。适用于只需要基本网络支持的服务。
  • network-online.target :在网络连接完全可用时启动,适合需要互联网访问或稳定网络的服务。
  • multi-user.target :在多用户模式启动(即非图形界面的默认模式),通常是绝大多数后台服务启动后。
  • graphical.target : 在图形界面可用后启动,适用于需要图形用户界面支持的服务。
  • syslog.target :在系统日志服务启动后启动,适用于依赖系统日志的服务。
  • local-fs.target :在本地文件系统挂载完成后启动,适用于依赖本地文件存储的服务。
  • remote-fs.target :在远程文件系统挂载完成后启动,适用于依赖远程文件系统(如 NFS)的服务。
  • basic.target : 这是大多数基础服务的依赖目标,表明基本系统设施已经加载完成。
  • time-sync.target :在系统时间同步后启动,适用于依赖准确时间的服务。
  • dbus.service :在 D-Bus 消息总线可用后启动,适用于使用 D-Bus 进行进程间通信的服务。

# Service.Restart

指定重启策略

  • no :不自动重启服务。服务停止后不会尝试再次启动。
  • always :无论服务是正常退出还是异常退出,始终重新启动服务。适用于希望服务持续运行的情况。
  • on-success :当服务正常退出(返回退出代码为 0 )时重启。用于处理服务在某些正常情况下退出并需要重新启动的场景。
  • on-failure :当服务因错误退出(退出代码不为 0 ,如崩溃或异常退出)时重启。适合希望在发生错误时重新尝试启动的服务。
  • on-abnormal :仅在服务因为信号(如 SIGKILL 或 SIGSEGV )异常退出时重启,适合应对异常信号的情况。
  • on-abort :当服务因为系统或用户强制停止(接收到 SIGABRT )时重启。适用于检测并处理被意外终止的服务。
  • on-watchdog :当服务因 watchdog 超时被终止时重启,适合启用 Watchdog 功能来监控服务健康状态的情况。

# 参考

  • systemd - Arch Linux 中文维基 (opens new window)
上次更新: 2024/11/16, 16:33:39
SSH密钥对 - ssh-keygen
文件同步 - rsync

← SSH密钥对 - ssh-keygen 文件同步 - rsync→

最近更新
01
Docker Swarm
04-18
02
安全隧道 - gost
04-17
03
Solana最佳实践
04-16
更多文章>
Theme by Vdoing | Copyright © 2018-2025 NipGeihou | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式