小编Owe*_*uhn的帖子

Systemd 服务失败,退出代码状态 = 203/EXEC

我正在尝试创建一个在启动时运行的服务。该服务是我用 C++ 编写并编译的程序,位于我的用户主目录中。该程序打开一些 UDP 套接字并处于无限循环中,因此不会自动退出。我可以手动运行该程序,一切都按预期工作,但是当我运行systemctl start myservice然后检查状态时,我发现它没有运行。下面的错误结果+其他有用的信息。仅供参考,操作系统是 CentOS Stream。

输出来自systemctl status myservice

myservice.service - my serivce
    Loaded: loaded (/etc/systemd/system/myservice.service; disabled; vendor present: disabled)
    Active: failed (Result: exit-code) since <redacted unnecessary timestamp>
    Process 2101 ExecStart=/home/user/program (code=exited, status=203/EXEC)
  Main PID: 2101 (code=exited, status=203/EXEC)
Run Code Online (Sandbox Code Playgroud)

来自journalctl的错误消息

myservice.service: Main process exited, code=exited, status=203/EXEC
myservice.service: Failed with result 'exit-code'
myservice.service: Service RestartSec=2s expired, scheduling restart
Run Code Online (Sandbox Code Playgroud)

系统单元文件

[Unit]
Description=my service
After=network.target

[Service]
Type=simple
ExecStart=/home/user/program
User=user
WorkingDirectory=/home/user/
Restart=always
RestartSec=2
KillMode=process

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我知道 203 状态通常意味着该文件不存在或没有适当的权限,因此下面的输出证明这不是这些问题(希望如此) …

systemd services journalctl systemctl

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

journalctl ×1

services ×1

systemctl ×1

systemd ×1