修改systemd-halt.service 补货关机系统运行级别
时间: 2023-08-09 13:09:37 浏览: 195
Linux的运行级修改
修改 `systemd-halt.service` 文件需要先将其复制到 `/etc/systemd/system/` 目录下,然后再进行修改。具体步骤如下:
1. 复制 `systemd-halt.service` 文件到 `/etc/systemd/system/` 目录下:
```
sudo cp /usr/lib/systemd/system/systemd-halt.service /etc/systemd/system/
```
2. 使用文本编辑器打开 `/etc/systemd/system/systemd-halt.service` 文件:
```
sudo nano /etc/systemd/system/systemd-halt.service
```
3. 在 `ExecStop` 部分添加以下命令:
```
ExecStop=/bin/sh -c '/bin/systemctl status --no-pager | /bin/grep "Main PID" | /usr/bin/awk "{print \$3}" > /var/run/shutdown.pid'
```
这个命令与之前提到的命令相同,将当前 systemd 进程的 PID 写入到 `/var/run/shutdown.pid` 文件中。
4. 保存并退出编辑器。
5. 使用以下命令重新加载 systemd 配置:
```
sudo systemctl daemon-reload
```
现在,当系统关机时,`systemd-halt.service` 会执行上述命令,并将当前 systemd 进程的 PID 写入到 `/var/run/shutdown.pid` 文件中。可以在系统启动时读取这个文件来获取系统关机时的运行级别。
需要注意的是,如果 `/var/run/shutdown.pid` 文件已经存在,新的 PID 值会覆盖原来的值。因此,在读取 `/var/run/shutdown.pid` 文件时,应该确保只读取最新的 PID 值。
阅读全文