首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

修复systemd服务203/EXEC故障(没有这样的文件或目录)

基础概念

systemd 是 Linux 系统中的一种初始化系统和服务管理器,用于管理系统启动后的各种服务。systemd 服务文件通常位于 /etc/systemd/system//lib/systemd/system/ 目录下,文件扩展名为 .service

故障原因

systemd 服务 203/EXEC 故障(没有这样的文件或目录)通常是由于以下原因之一引起的:

  1. 服务文件路径错误:服务文件中指定的可执行文件路径不正确或不存在。
  2. 权限问题:服务文件或可执行文件没有正确的权限,导致 systemd 无法执行。
  3. 依赖问题:服务文件中指定的依赖项不存在或未正确配置。

解决方法

1. 检查服务文件路径

首先,检查服务文件中的 ExecStart 指令,确保指定的可执行文件路径是正确的。

代码语言:txt
复制
[Service]
ExecStart=/path/to/your/executable

确保 /path/to/your/executable 是正确的路径,并且该文件存在。

2. 检查权限

确保服务文件和可执行文件具有正确的权限。通常,服务文件需要 644 权限,可执行文件需要 755 权限。

代码语言:txt
复制
sudo chmod 644 /etc/systemd/system/your-service.service
sudo chmod 755 /path/to/your/executable

3. 检查依赖项

确保服务文件中指定的依赖项存在且正确配置。例如,如果你的服务依赖于另一个服务,确保该服务已经启动并且配置正确。

代码语言:txt
复制
[Unit]
Requires=another-service.service
After=another-service.service

4. 重新加载和启动服务

在修改服务文件后,需要重新加载 systemd 配置并启动服务。

代码语言:txt
复制
sudo systemctl daemon-reload
sudo systemctl start your-service.service
sudo systemctl status your-service.service

示例代码

假设你的服务文件 /etc/systemd/system/myapp.service 内容如下:

代码语言:txt
复制
[Unit]
Description=My Application Service
After=network.target

[Service]
ExecStart=/usr/local/bin/myapp
Restart=always
User=myuser
Group=mygroup

[Install]
WantedBy=multi-user.target

确保 /usr/local/bin/myapp 存在并且具有 755 权限:

代码语言:txt
复制
sudo chmod 755 /usr/local/bin/myapp

然后重新加载 systemd 配置并启动服务:

代码语言:txt
复制
sudo systemctl daemon-reload
sudo systemctl start myapp.service
sudo systemctl status myapp.service

参考链接

通过以上步骤,你应该能够解决 systemd 服务 203/EXEC 故障(没有这样的文件或目录)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 创建Linux服务,轻松管理(自启动,恢复)进程

    这样一个场景,在一台服务器上,我们想要启动一个简单网络文件服务器,用来提供给内网用户下载。...但是还有一些问题,比如 进程意外停止了,无法自动启动 服务器重启,该进程也不会自动启动 那么我们有没有什么好办法解决呢,答案是有的。就是下面介绍使用systemd创建Linux 服务方式解决。...创建服务Unit文件 创建一个服务文件,比如这里叫做vim /etc/systemd/system/apk_server.service(可以将apk_server替换为你希望名称) 内容如下 1 2...更新正确即可 设置工作目录 很多是否我们命令会是这样 进入一个目录 然后执行命令 但是当我们这样设置ExecStart=/usr/bin/env cd your_dir && ruby -run -ehttpd...: Main process exited, code=exited, status=203/EXEC localhost.localdomain systemd[1]: coo_code_review.service

    4.5K20

    滥用crond触发systemd-login故障一例

    故障现象 2021年1月20日接到通知,要把systemd升级到219-73.tl2.10或以上、并把rsyslog一起升级,以修复/var/log/messages无日志内容bug。...经实验,发现使用yum升级两个软件包之后,systemd-logind可执行文件也被更新,导致该服务处于原可执行文件已删除状态,所以我提议,在升级步骤中增加重启systemd-logind服务动作...检查yum日志,发现在去年6月升级了dbus包,但是服务进程是3月5日启动,也就是升级包时候并没有重启这个服务。...这样,strace可以跟踪到 1号进程clone+execv执行systemd-logind瞬间,以及systemd-login最开头行为。...检查systemd-loginstrace记录,发现大量访问 /run/systemd/session/ 目录下面文件动作。检查该目录,发现大量残留文件

    98020

    CentOS 7下Redis5安装部署与开机自启动

    /local/redis/bin 此时目录结构是这样 •redis-benchmark redis性能测试工具 •redis-check-aof AOF文件修复工具 •redis-check-rdb...RDB文件修复工具 •redis-cli redis命令行客户端 •redis.conf redis配置文件 •redis-sentinal redis集群管理工具 •redis-server redis...适用 ps aux|grep redis #查看redis进程是否存在 方法二: centos 7以上是用Systemd进行系统初始化Systemd 是 Linux 系统中最新初始化系统(init...Systemd服务文件以.service结尾,比如现在要建立redis为开机启动,如果用yum install命令安装,yum命令会自动创建redis.service文件,直接用命令systemcel...enable redis.service设置开机启动即可  1.在系统服务目录里创建redis.service文件 vim /etc/systemd/system/redis.service 写入以下内容

    88810

    第十六章.Linux系统管理-开机启动流程

    操作系统接管硬件以后,首先读取 /boot 目录内核文件。.../etc/rc.d/rc5.d/中rc启动脚本通常是KS开头连接文件,对于以 S 开头启动脚本,将以start参数来运行。...#退出 bash-4.2# exit #重启进入系统 bash-4.2# reboot 生产场景3: CentOS7 误删除grub文件,进行修复 1.模拟故障 #删除grub2 [root@zls...---- systemd相关配置文件 /usr/lib/systemd/system #类似C6系统启动脚本目录/etc/init.d/ /etc/systemd/system/ #类似C6系统...daemon-reload 创建新服务文件或者变更设置 systemctl服务状态说明 服务状态 状态说明 loaded 服务单元配置文件已经被处理 active(running) 服务一个多个进程在运行中

    2.4K20

    RLIMIT_NOFILE设置陷阱:容器应用高频异常元凶

    File Descriptor Limits 最初,文件描述符(fd)主要用于引用打开文件目录等资源。...错误处理 这些问题主要与系统服务文件描述符限制有关,不同服务限制耗尽会导致不同错误。 有时这会导致任何docker命令(如docker ps)挂起(守护进程耗尽限制)。...containerd 已经合并了相应更改,从他们systemd服务文件中移除了LimitNOFILE设置。...(-u) 499403 containerdsystemd服务配置如下: cat /usr/lib/systemd/system/containerd.service [Unit] Description...这样好处是所选限制值不太随意,并且改善了在设置了rlimit容器中systemd行为。 由于笔者时间、视野、认知有限,本文难免出现错误、疏漏等问题,期待各位读者朋友、业界专家指正交流。

    18710

    第十五章 系统服务管理

    其实,系统开机级别文件,与服务文件存放位置相同,也存放在/usr/lib/systemd/system/目录下,后缀大多以.target结尾。...其实无论图形字符界面,它开机服务管理都统一在/etc/systemd/system/multi-user.target.wants/目录中做设置,该目录中也都是一些软链接,指向/usr/lib/systemd.../system/目录各个服务文件,即只要是有软链接指向服务,就是开机自启服务没有软链接指向服务,开机就会关闭。...图中可见软链接atd.service指向,正是指向atd服务文件,当我们把atd设置为开机关闭状态时,再查看目录下就没有atd软链接了。...,如有故障硬件,则会报警无法开机,如:内存故障会黑屏或有滴滴响叫。

    1.8K51

    5分钟看懂微服务架构下Consul 特性及搭建

    这在故障情况下可用性和性能之间取得了平衡,因为随着添加更多机器,一致性会逐渐变慢。但是,客户端数量没有限制,可以很容易地扩展到数千数万。...这样做有几个目的:首先,不需要使用服务地址来配置客户端;服务发现是自动完成。其次,健康检查故障工作不是放在服务器上,而是分布式。这使得故障检测比单纯心跳模式更具可伸缩性。...拷贝到usr目录下 我这里事先在usr目录中单独创建了service 文件,可以通过mkdir 命令来完成,不过不一定要安装在这个目录下面,我这里就选择安装在usr目录里 mv consul /usr/...创建启动脚本 我们再service 目录中创建Consul开机自启动脚本文件consul.start.sh #!...=exited, status=203/EXEC异常错误信息,这个信息一般有如下几个原因造成: 错误脚本路径 脚本权限无效 服务用户没有读取脚本权限 脚本未标记为可执行 根据上面三种情况去排查解决

    1K20

    linux基础命令介绍十五:推陈出新

    Journal服务配置文件是/etc/systemd/journald.conf,在默认配置中,Journal日志保存在目录/run/log/journal内(tmpfs内存文件系统),系统重启将不会保留...centos7 systemd[1]: ping252.service: main process exited, code=exited, status=203/EXEC 12月 23 14:28:...不推荐在目录/usr/lib/firewalld中直接修改配置文件,最好是在/usr/lib/firewalld中复制一份配置文件到/etc/firewalld相应目录中,然后进行修改。...这样,在恢复默认配置时,直接删除/etc/firewalld中文件即可。 firewalld中引入了两个概念:service(服务)和zone(区域)。...service通用配置文件(位于目录/usr/lib/firewalld/services内)中定义了服务与端口映射,firewalld在使用时可以直接引用服务名而不是像iptables那样引用端口号

    1.3K20

    Cloudera Agent服务异常分析

    在命令行重启cloudera-scm-agent服务无任何提示,/var/log/cloudera-scm-agent目录log也未正常输出 ? 无最新日志输出 ?...2.异常分析及处理 ---- 1.在解决故障过程中,检查了该节点防火墙、SELinux、磁盘空间大小,防火墙和SELinux处于关闭状态,磁盘空间充足。 ?...2.由于cloudera-scm-agent服务是被systemctl管理,需要检查系统日志文件(/var/log/messages),查看是否有关服务启动失败异常信息 Aug 30 15:33:44...可以看到该目录下有python2软连并未有python命令。查看其它正常节点该目录python ?...3.总结 ---- cloudera-scm-agent服务依赖python环境,默认使用会在/usr/bin;/usr/sbin;/sbin;/bin目录下查找python命令,如果未找到会到最后cloudera-scm-agent

    4.2K40

    开机启动流程

    以.img为结尾文件,是一个小型目录系统映像文件,里面存放了各类系统必须模组,为了解决内核在加载完成之后没有模组无法访问磁盘加载rootfs问题。...grub安装与修复 命令行中: grub-install --root-directory=/boot /dev/sda :指定boot目录与stage要写入磁盘。...按需启动 init在系统启动时,会启动所有预设为启动服务进程,并且系统必须等待所有的服务都启动就绪之后才会允许用户登录操作,这样会让系统启动速度非常慢,并且浪费系统资源。...启动流程图 systemctl命令 systemctl [options] show [NAME.unittype]:显示指定服务状态当前允许服务列表。...我们来看一下/etc/systemd/system/目录下面到底存放了什么文件

    1.6K81

    Linux项目开发,你必须了解Systemd服务!

    Systemd默认从目录/etc/systemd/system/读取配置文件,但是里面存放大部分文件都是符号链接,指向目录/lib/systemd/system,配置文件存放于/lib/systemd...它主要字段如下:WantedBy:它值是一个多个Target,当前Unit激活时(enable)符号链接会放入/etc/systemd/system目录下面以Target名+.wants后缀构成目录中...RequiredBy:它值是一个多个Target,当前Unit激活时,符号链接会放入/etc/systemd/system目录下面以Target 名 + .required后缀构成目录中Alias...由socker触发服务对应于 systemd 配置文件要有两个,后缀分别是.socket与.service ,除后缀外文件名要相同,这样就能自动关联,例如名为hello-world-socket服务...服务异常重运行为了确保服务在遭遇故障时能够自动重启。在Systemd服务单元文件中,Restart指令是控制服务重启行为核心设置。

    12510
    领券