启动自定义linux服务时,报错Failed at step EXEC spawning /xxx/yyy/zzz No such file or directory

这篇具有很好参考价值的文章主要介绍了启动自定义linux服务时,报错Failed at step EXEC spawning /xxx/yyy/zzz No such file or directory。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

想在服务器开机启动的时候,自动执行python脚本,于是就把它做成了linux服务的形式。

在/etc/systemd/system/myclock.service

[Unit]
Description=my first linux service
[Service]
Type=simple
ExecStart=/data/mytools/python38/bin/python3 /data/myclock.py
[Install]
WantedBy=multi-user.target

在输入以下命令后:

systemctl daemon-reload
systemctl start myclock.service
systemctl status myclock.service

发现服务没起来,而且报错:

Failed at step EXEC spawning /data/mytools/python38/bin/python3 No such file or directory

原因分析: 

由于/data分区是通过nfs挂载的,所以猜测是systemd启动myclock.service服务的时候,磁盘还没有挂载上,导致找不到文件或目录。

所以需要修改myclock.service服务的配置,使它在指定分区/data挂载后再启动。

解决方案:

在[Unit]中增加一行RequiresMountsFor=/data/mytools/python38/bin

[Unit]
Description=my first linux service
RequiresMountsFor=/data/mytools/python38/bin
[Service]
Type=simple
ExecStart=/data/mytools/python38/bin/python3 /data/myclock.py
[Install]
WantedBy=multi-user.target

然后重新启动就OK了:

systemctl daemon-reload
systemctl start myclock.service
systemctl status myclock.service

 参考:

linux - Failed at step EXEC spawning: No such file or directory - Super User

systemd服务等待nfs挂载后启动 – 全栈笔记

CentOS 7 系统服务配置--单元(Unit)_requiresmountsfor_CodingSir的博客-CSDN博客

Linux基础——服务_linux服务_松仔log的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-488476.html

到了这里,关于启动自定义linux服务时,报错Failed at step EXEC spawning /xxx/yyy/zzz No such file or directory的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包