在Ubuntu18下编写开机启动服务及脚本

Ubuntu18采用systemctl来管理开机启动的脚本,但是这里面有一些坑需要注意
举例来说

[Unit]
After=network.target

[Service]
Type=simple 
ExecStart=/usr/local/xxx.sh

[Install]
WantedBy=multi-user.target

1.编写的脚本/usr/local/xxx.sh的第一行一定要加上一行

#!/bin/sh

如果想让脚本在执行到过程中碰到错误就不往下面执行,将其改为

#!/bin/sh -e

如果不加上这一行,会出现莫名奇妙的错误,如图:
systemctl出错图片

10月 13 20:06:38 systemd[1]: Started .service.
10月 13 20:06:38  systemd[5542]: .service: Failed to execute command: Exec format error
10月 13 20:06:38  systemd[5542]: .service: Failed at step EXEC spawning /usr/local/.sh: Exec format error
10月 13 20:06:38 systemd[1]: .service: Main process exited, code=exited, status=203/EXEC
10月 13 20:06:38 systemd[1]: .service: Failed with result 'exit-code'.

欢迎访问我的 个人网站(主要), Github, CSDN(主要), 博客园, 简书, 掘金, 知乎, 微信公众号:HelloVant(主要)

本文采用 知识共享 署名-非商业性使用-禁止演绎(CC by-nc-nd) 4.0 国际 许可协议 授权

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值