Ubuntu 开机自启

我配置的是一个scratch-gui在线可视化编程网站的自启动服务

启动脚本为:

cd /home/ubuntu/lite
npm run start

想让服务起每次重启,自动执行这段脚本,不需要我每次上服务器去配置。

原理:自定义服务文件,添加到系统服务,通过Systemctl管理

先在cd /home/ubuntu/lite目录下新建脚本

vim start.sh

输入内容为

#!/bin/bash
cd /home/ubuntu/lite
npm run start

设置脚本权限 创建系统服务

chmod +x start.sh
sudo vim /lib/systemd/system/scratch.service

内容为:

[Unit]
Description=scratch service
After=network.target network-online.target syslog.target
Wants=network.target network-online.target

[Service]
Type=simple

#启动服务的命令(命令必须写绝对路径)
ExecStart=bash /home/ubuntu/lite/start.sh

[Install]
WantedBy=multi-user.target

命令只写了启动的,重启、停止等可以根据自己情况添加。

允许开机自启:

systemctl enable scratch.service

其他命令

启动 sudo systemctl start scratch
重启 sudo systemctl restart scratch
停止 sudo systemctl stop scratch
日志 sudo systemctl status scratch

其他服务或者命令、脚本也可以用类似方式,实现开机自启。

详细可参考:Linux Ubuntu 20.04 -添加开机启动(服务/脚本)

### Ubuntu 设置开机自动启动服务或程序的配置方法 在 Ubuntu 中,设置程序或服务开机有多种方式可供选择。以下是几种常见的方式及其具体实现: #### 使用 systemd 服务 通过创建并用一个 `systemd` 服务单元文件可以轻松实现程序的开机。这是现代 Linux 发行版推荐的标准方法之一。 1. 创建一个新的 `.service` 文件到 `/etc/systemd/system/` 目录下,例如命名为 `myprogram.service`。 ```bash sudo nano /etc/systemd/system/myprogram.service ``` 2. 编辑该文件的内容如下所示: ```ini [Unit] Description=My Program Service [Service] ExecStart=/path/to/myprogram [Install] WantedBy=multi-user.target ``` 上述内容定义了一个名为 My Program 的服务,并指定了其运行路径[^1]。 3. 用此服务以便于下次重自动加载它。 ```bash sudo systemctl enable myprogram.service ``` 4. 如果希望立即生效而无需重新引导计算机,则可手动启动一次服务。 ```bash sudo systemctl start myprogram.service ``` #### 修改 rc.local 脚本 另一种传统的方法是在系统的全局初始化脚本 `/etc/rc.local` 中加入命令行指令来完成特定任务的自动化执行。 1. 确保已安装好必要的包支持rc-local服务。 ```bash sudo apt-get install -yqq sysv-rc-conf ``` 2. 打开编辑器修改 `/etc/rc.local` 文件,在其中添加想要执行的应用程序调用语句。 ```bash sudo nano /etc/rc.local ``` 3. 添加类似下面的一条记录用于指定某个应用作为系统启动的一部分被执行。 ```bash /usr/bin/someapplication & exit 0 ``` 这里假设 someapplication 是目标进程的位置;注意最后一定要保留退出状态码声明以保证正常结束处理流程[^2]。 #### 利用图形界面工具 Startup Applications Preferences 对于桌面环境下的用户来说,“Startup Applications” 提供了一种简单直观的方式来管理个人级别的启动项列表。 1. 只需打开终端窗口键入以下命令即可唤起相应的对话框界面。 ```bash gnome-session-properties ``` 2. 接下来点击 “Add”,填写名称、描述以及对应的命令字段信息后保存更改即完成了新增动作[^3]。 #### chkconfig 工具扩展功能 虽然较新的版本可能不再默认提供完整的 SysV init 风格的服务管理系统,但我们仍然能借助兼容层机制引入此类特性——比如利用 `chkconfig` 来注册额外的新服务项目进入常规调度队列当中去。 1. 将待控制的目标脚本放置至标准位置 `/etc/init.d/` 下面; ```bash cp yourscript.sh /etc/init.d/ chmod +x /etc/init.d/yourscript.sh ``` 2. 注册新组件让 `chkconfig` 认识它们成为合法成员对象。 ```bash sudo chkconfig --add yourscript.sh ``` 以上就是关于如何在Ubuntu操作系统环境下设定各类软件产品随主机电源恢复之后自行激活起来的主要途径介绍[^4]。 ```python print("Example Python Script Running at Boot Time") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值