Ubuntu下添加开机启动脚本

本文介绍了如何在Ubuntu系统中配置开机启动脚本。通过编辑/etc/rc.local文件并在exit 0之前添加所需的脚本代码,可以实现指定程序或服务随系统启动而自动运行。对于依赖网络的服务,还需调整其启动顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu开机之后会执行/etc/rc.local文件中的脚本,

所以我们可以直接在/etc/rc.local中添加启动脚本。

当然要添加到语句:exit 0 前面才行。

 

如:

sudo vi /etc/rc.local

然后在 exit 0 前面添加好脚本代码。

 

如果要添加为开机启动执行的脚本文件,

可先将脚本复制或者软连接/etc/init.d/目录下,

然后用:update-rc.d xxx defaults NN命令(NN为启动顺序),

将脚本添加到初始化执行的队列中去。

注意如果脚本需要用到网络,则NN需设置一个比较大的数字,

如98 。

### 配置 Ubuntu 20.04 开机启动 Shell 脚本 #### 使用 `rc.local` 方法 为了使脚本能够在系统启动时执行,在 `/etc/rc.local` 文件中添加命令是一种常见方法。创建或编辑该文件并加入待执行的Shell脚本路径,注意确保每条命令后面跟有 `&` 符号以便让它们在后台运行,防止阻塞系统的正常启动过程[^2]。 ```bash sudo nano /etc/rc.local ``` 向文件内写入如下内容: ```bash #!/bin/bash ./path/to/test.sh & exit 0 ``` 保存更改后退出编辑器,并赋予此文件可执行权限: ```bash sudo chmod +x /etc/rc.local ``` #### 创建 Systemd Service 单元 另一种更为推荐的方式是在Ubuntu 20.04上通过定义一个新的Systemd服务单元来管理开机启动项。这提供了更好的控制和服务状态监控能力。 准备一个简单的Service配置文件,比如命名为 `my-startup-script.service`: ```ini [Unit] Description=My Startup Script After=network.target [Service] ExecStart=/full/path/to/test.sh Restart=on-failure [Install] WantedBy=multi-user.target ``` 将上述内容存放到 `/etc/systemd/system/my-startup-script.service` 下面,接着刷新daemon加载新服务并启用之使其随系统一同启动: ```bash sudo systemctl daemon-reload sudo systemctl enable my-startup-script.service ``` 最后可以立即尝试启动这个新建的服务来进行初步验证: ```bash sudo systemctl start my-startup-script.service ``` 对于想要测试的具体Shell脚本实例,下面是一个简单例子用于确认自启机制工作正常[^3]: ```bash #! /bin/bash echo "自启动成功" sleep 1s # cd /home/user/ # gnome-terminal -x bash -c "command1; command2; exec bash" // 替换成实际需要执行的任务列表 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值