Systemctl 服务失败退出代码

Systemctl 服务失败退出代码

我的 systemctl 代码不起作用

● <appname>.service
   Loaded: loaded (/etc/systemd/system/<appname>.service; disabled; vendor prese
   Active: failed (Result: exit-code) since Mon 2022-04-04 21:55:20 CEST; 4s ago
  Process: 1686 ExecStart=/usr/bin/npm start (code=exited, status=203/EXEC)
 Main PID: 1686 (code=exited, status=203/EXEC)

Apr 04 21:55:20 raspberrypi systemd[1]: <appname>.service: Service RestartSec=50
Apr 04 21:55:20 raspberrypi systemd[1]: <appname>.service: Scheduled restart job
Apr 04 21:55:20 raspberrypi systemd[1]: Stopped <appname>.service.
Apr 04 21:55:20 raspberrypi systemd[1]: <appname>.service: Start request repeate
Apr 04 21:55:20 raspberrypi systemd[1]: <appname>.service: Failed with result 'e
Apr 04 21:55:20 raspberrypi systemd[1]: Failed to start <Appname>.service.


systemctl reset-failed <appname>
systemctl start <appname>

^^不工作

有人可以帮忙吗?

答案1

这是回归203。这通常是一条systemd消息。

退出代码 200 及以上由systemd的服务管理器用来指示进程调用期间的问题。

man systemd.exec了解详情。

203具体意思是:

实际的进程执行失败(特别是 execve(2) 系统调用)。这很可能是由丢失或不可访问的可执行文件引起的。

检查是否/usr/bin/npm确实存在并具有写入权限。还要检查您是否可以/usr/bin/npm自己运行。

我通常会从运行手动安装的人那里看到这个问题(安装到其他位置,例如/usr/local/bin或不安装某些依赖项)。从包管理器安装nodejs通常是获得可用的npm.

相关内容