systemd开机自启脚本
时间: 2023-12-03 21:04:29 浏览: 39
在Systemd中,开机自启脚本通常称为“服务(service)”。下面是创建和启用服务的步骤:
1. 创建一个以 .service 结尾的文件,文件名可以自定义。该文件通常位于 /etc/systemd/system 目录下。
2. 在该文件中,定义服务的配置信息。以下是一个示例配置文件的内容:
```
[Unit]
Description=My Service
After=network.target
[Service]
Type=simple
ExecStart=/path/to/my/script.sh
Restart=always
[Install]
WantedBy=multi-user.target
```
其中,各部分的含义如下:
- `[Unit]`:服务单元的配置信息。
- `Description`:服务的描述信息。
- `After`:定义依赖关系,表示服务需要在 network.target 启动之后才启动。
- `[Service]`:服务的具体配置信息。
- `Type`:定义服务的类型,简单服务可以使用 simple。
- `ExecStart`:定义服务启动时执行的命令或脚本。
- `Restart`:定义服务是否在失败时自动重启。
- `[Install]`:定义服务的安装信息。
- `WantedBy`:定义服务在哪个 target 下启动。
3. 保存并退出配置文件,然后重新加载 systemd 配置文件:
```
$ sudo systemctl daemon-reload
```
4. 启动并启用服务:
```
$ sudo systemctl start myservice.service
$ sudo systemctl enable myservice.service
```
其中,`myservice.service` 是你创建的服务文件的名称。
5. 检查服务状态:
```
$ sudo systemctl status myservice.service
```
如果服务成功启动,你应该会看到类似于以下的输出:
```
● myservice.service - My Service
Loaded: loaded (/etc/systemd/system/myservice.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-10-07 09:23:53 EDT; 1s ago
Main PID: 1234 (script.sh)
Tasks: 1 (limit: 4915)
Memory: 10.0M
CGroup: /system.slice/myservice.service
└─1234 /bin/bash /path/to/my/script.sh
```
这说明服务已经在后台运行,并且已经设置为开机自启动。