[Ubuntu 20.04] 创建一个开机服务(systemd服务单元文件)

本文介绍了如何在Ubuntu 20.04上创建一个开机启动的systemd服务,该服务用于运行网络应用程序。步骤包括编写启动脚本、创建systemd服务单元文件、设置服务属性、启用、启动、检查服务状态、重启和停止服务,以及如何移除服务。

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

例如用于创建一个名为my_network_app.service的systemd服务,该服务将在系统启动时运行一个网络应用程序。

1. 创建应用程序的启动脚本

首先,你需要一个启动你的网络应用程序的脚本。这个脚本可以是任何语言编写的,只要它能正确地启动你的应用程序。例如,假设你有一个名为start_my_app.sh的启动脚本,内容如下:

#!/bin/bash

# 网络应用程序的启动命令
# 例如,使用Python启动一个Web应用
python3 /path/to/your/app.py

确保这个脚本具有执行权限:

chmod +x /path/to/start_my_app.sh

2. 创建systemd服务单元文件

接下来,创建一个新的systemd服务单元文件:

sudo
### 如何在 Ubuntu 20.04创建开机自启动脚本 #### 创建并配置 `rc-local.service` 为了使系统支持 `/etc/rc.local` 文件中的命令执行,在 `/lib/systemd/system/` 下创建或编辑名为 `rc-local.service` 的文件[^3]。 ```bash sudo vim /lib/systemd/system/rc-local.service ``` 向该文件追加如下内容: ```ini [Install] WantedBy=multi-user.target Alias=rc-local.service ``` 这一步骤确保了当多用户模式被激活时,本地 rc 脚本能被执行,并赋予其别名以便于管理。 #### 编辑 `/etc/rc.local` 文件 接着,创建一个新的 `/etc/rc.local` 文件用于定义具体的开机启动任务。此操作可以通过以下命令完成: ```bash sudo touch /etc/rc.local && sudo chmod 755 /etc/rc.local ``` 随后打开这个新创建文件进行编辑: ```bash sudo vim /etc/rc.local ``` 在此处输入期望自动运行的任务列表;例如,如果希望某个特定的服务能够随机器一起启动,则可以像下面这样编写: ```bash #!/bin/bash echo "自启动成功" sleep 1s # 可选:切换到指定目录下执行其他命令 # cd /home/user/ # gnome-terminal -x bash -c "./your_command_here;exec bash" exit 0 ``` 注意每条命令之间应保持适当间隔以防止冲突发生。对于长时间运行的应用程序,请记得在其结尾附加 `&` 符号使其进入后台工作状态,从而不影响系统的正常引导过程。 #### 更新 systemd 配置和服务启用情况 保存更改之后,还需要通知 Systemd 关于此变更的信息以及重新加载配置数据: ```bash sudo systemctl daemon-reload sudo systemctl enable rc-local ``` 最后重启计算机来验证一切是否按预期运作良好。 通过上述步骤即可实现在 Ubuntu 20.04 上设置任意 Shell 命令作为开机自启动项的功能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式逍遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值