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

Linux systemd 服务启动失败Main process exited, code=exited, status=203/EXEC

在使用 systemd 管理服务时,遇到服务启动失败并报错 Main process exited, code=exited, status=203/EXEC,通常意味着在执行服务时发生了错误,可能是由于配置文件、权限或可执行文件路径问题引起的。以下是详细的排查和解决步骤。

一、检查单元文件的配置

首先检查 systemd 单元文件(通常位于 /etc/systemd/system/ 或 /lib/systemd/system/ 目录中)的配置。

  1. 示例单元文件

    [Unit]
    Description=My Custom Service
    After=network.target[Service]
    Type=simple
    ExecStart=/usr/bin/my-custom-service
    Restart=on-failure[Install]
    WantedBy=multi-user.target
  2. 检查 ExecStart 路径
    确保 ExecStart 中指定的可执行文件路径正确且存在。

    ls -l /usr/bin/my-custom-service
  3. 检查文件权限
    确保可执行文件具有执行权限。

    chmod +x /usr/bin/my-custom-service
二、验证可执行文件的有效性

确保可执行文件能够独立运行。

  1. 手动运行可执行文件
    尝试在终端中手动运行该文件,检查是否有错误输出。

    /usr/bin/my-custom-service
  2. 调试输出
    如果执行失败,检查错误信息并修复相应问题。

三、检查日志

systemd 会将详细的错误信息记录到日志中,通过 journalctl 命令查看相关日志。

  1. 查看服务日志

    journalctl -u my-custom-service.service
  2. 分析日志输出
    查找日志中的错误信息,通常会提供更详细的错误原因。

四、配置文件示例

以下是一个完整的示例,假设服务名为 my-custom-service

  1. 创建单元文件

    sudo nano /etc/systemd/system/my-custom-service.service
  2. 单元文件内容

    [Unit]
    Description=My Custom Service
    After=network.target[Service]
    Type=simple
    ExecStart=/usr/bin/my-custom-service
    Restart=on-failure[Install]
    WantedBy=multi-user.target
  3. 重载 systemd 配置

    sudo systemctl daemon-reload
  4. 启动服务

    sudo systemctl start my-custom-service
  5. 检查服务状态

    sudo systemctl status my-custom-service
http://www.lryc.cn/news/580450.html

相关文章:

  • 浏览器与服务器的交互
  • 五、jenkins之升级jenkins
  • Python统一调用多家大模型API指南
  • puppteer page.$$eval 和 puppteer page.$eval
  • 【数据结构】排序算法:归并与堆
  • HarmonyOS学习1---ArkTs语法
  • FPGA设计中的数据存储
  • json学习路线
  • C 中的 uintptr_t 类型
  • 深入解析享元模式:通过共享技术高效支持大量细粒度对象
  • ai 工程图相关论文集合
  • HarmonyOS:创建ArkTS卡片
  • HTML知识复习2
  • 汽车制造车间检测机器人与PLC无线以太网实时控制方案
  • 计算机技术的进阶之路:从基础到前沿的深度探索
  • 【网络】Linux 内核优化实战 - net.ipv4.tcp_timestamps
  • Oracle 高级 SQL 查询与函数详解:多表连接、子查询、聚合、分析函数
  • 3dmax一键烘焙很多张贴图合并成一张贴图插件支持fbx/obj/blender多材质模型合并为一张贴图
  • 光伏发电园区管理系统 - Three.js + Django 实现方案
  • SqueezeBERT:计算机视觉能为自然语言处理在高效神经网络方面带来哪些启示?
  • SQL 转 Java 实体类工具
  • 【内存】Linux 内核优化实战 - net.ipv4.tcp_max_tw_buckets
  • HarmonyOS学习2---Stage模型
  • 接口测试之apifox的使用
  • 在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
  • 常见高危端口风险分析与防护指南
  • java中,stream的filter和list的removeIf筛选速度比较
  • 【网络协议安全】任务12:二层物理和单臂路由及三层vlanif配置方法
  • Docker文件操作、数据卷、挂载
  • 猎板 PCB 微孔技术:构建 5G 通信设备高效运行的坚实底座