首页
学习
活动
专区
工具
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.6K20

    滥用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-login的strace记录,发现大量访问 /run/systemd/session/ 目录下面文件的动作。检查该目录,发现大量残留文件。

    1.3K20

    Linux系统-开关机

    开机常见故障 1.找不到引导盘 比如我的系统安装在a硬盘,而我在bios里面配置了b盘作为启动盘,可以通过带外操作bios或者直接操作bios进行调整修复,如果是重装或者新安装系统,也是在这里选择引导盘...2.引导盘故障 比如某些误操作删除了系统关键文件,或者磁盘文件系统损坏。...以下故障是我手工删除了/etc目录和/bin目录重启失败的情况,修复方法参考后面会讲的Linux系统-救援模式 3.磁盘挂载失败 错误的fstab是常见的系统无法启动的原因之一 输入root密码进入系统修复磁盘挂载问题...系统会按照一定的顺序停止各种服务,如网络服务、文件系统服务、打印服务等。这通常是由初始化系统(如 systemd)来管理的。...如果是正常关机,系统会将电源管理系统设置为关机状态,计算机的电源将被关闭。 关机一般不会遇到问题,当然在实际运维中,我是遇到过无法关机,必须强制关机的情况,但是这个没有模拟出来故障。

    6100

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

    操作系统接管硬件以后,首先读取 /boot 目录下的内核文件。.../etc/rc.d/rc5.d/中的rc启动脚本通常是K或S开头的连接文件,对于以 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

    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 写入以下内容

    94110

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

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

    55810

    第十五章 系统服务管理

    其实,系统的开机级别文件,与服务文件存放位置相同,也存放在/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异常错误信息,这个信息一般有如下几个原因造成: 错误的脚本路径 脚本的权限无效 服务用户没有读取脚本的权限 脚本未标记为可执行 根据上面三种情况去排查解决

    1.2K20

    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

    开机启动流程

    以.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指令是控制服务重启行为的核心设置。

    16310
    领券