Ubuntu-18.04设置开机启动脚本
参考:https://www.cnblogs.com/defifind/p/9285456.html
http://www.cnblogs.com/airdot/p/9688530.html
systemd 默认读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件
打开脚本/lib/systemd/system/rc.local.service 添加末尾几行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [Unit] Description = / etc / rc.local Compatibility Documentation = man:systemd - rc - local - generator( 8 ) ConditionFileIsExecutable = / etc / rc.local After = network.target [Service] Type = forking ExecStart = / etc / rc.local start TimeoutSec = 0 RemainAfterExit = yes GuessMainPID = no [Install] WantedBy = multi - user.target elias = rc - local.service |
PS:实际测试无需添加最后三行也能实现
最后增加字段[Install]否则在enable的时候可能会报一下错误,虽然报一下错误后开机自启程序还是正常的
1 2 3 4 5 6 7 8 9 10 11 12 | The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units). This means they are not meant to be enabled using systemctl. Possible reasons for having this kind of units are: 1 ) A unit may be statically enabled by being symlinked from another unit's .wants / or .requires / directory. 2 ) A unit's purpose may be to act as a helper for some other unit which has a requirement dependency on it. 3 ) A unit may be started when needed via activation (socket, path, timer, D - Bus, udev, scripted systemctl call, ...). 4 ) In case of template units, the unit is meant to be enabled with some instance name specified. |
创建启动文件/etc/rc.local(默认无该文件)
1 2 | #!/bin/sh -e touch / tmp / test |
增加执行权限
1 | chmod + x / etc / rc.local |
PS:需要#!/bin/sh -e否则可能不生效 需要!号 如果sh不生效则修改成bash
如rc.local文件不正确启动rc-local包以下错误
Exec format error
设置软连接
1 | ln - s / lib / systemd / system / rc.local.service / etc / systemd / system / |
重启如果在/tmp目录下面创建了test文件则代表设置开启启动成功
启动服务并设置开启自启动
1 2 | systemctl start rc - local systemctl enable rc - local |
重启服务器测试,可以通过命令查看自启动状态以及自启动执行时候的报错等信息
1 | systemctl status rc - local |
如果启动rc-local报错
1 | journalctl - xe |
1 | 单元已失败 |
检查/etc/rc.local文件配置,是否有非英文状态输入的字符
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2018-03-08 Python全栈day28(类的装饰器)