Ubuntu 20.04的服务管理是基于systemd的,因此设置服务自启动最推荐的方法是创建一个systemd服务文件,配置好要执行的服务。过程如下:
- 创建我们需要开机自启动的脚本,例如test.sh,其内容如下:
#!/bin/bash
cd ~/
touch 11111111111.txt
注意,开头一定要加上:
#!/bin/bash
2. 在/etc/systemd/user目录下创建一个systemd服务文件, 命名为user-defined.service, 内容如下:
[Unit]
After=network.service
[Service]
ExecStart=/home/hqc/test.sh
[Install]
WantedBy=default.target
其中,After表示服务何时启动,After=network.service 表示网络连接完成后,启动我们的服务;ExecStart表示我们的脚本(步骤1中的test.sh)的路径;WantedBy默认填default.target。
注意,ExecStart=/home/hqc/test.sh 这里一定不能用 ~/ 来代替/home/$USER
3. 将systemd服务文件和我们的脚本更改权限,使其可执行。
sudo chmod 744 ~/test.sh
sudo chmod 664 /etc/systemd/system/user-defined.service
4. 重新加载系统的systemd服务文件,并启用我们自己写的user-defined.service文件。
sudo systemctl daemon-reload
systemctl --user enable user-defined.service