我的 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
.