Centos7 修改systemd-halt.service 捕获关机系统运行级别
时间: 2024-01-06 10:05:56 浏览: 174
明白了,你想要修改 `systemd-halt.service` 来捕获关机时的系统运行级别。
首先,你需要编辑 `/usr/lib/systemd/system/systemd-halt.service` 文件,可以使用以下命令打开文件:
```
sudo vi /usr/lib/systemd/system/systemd-halt.service
```
在该文件中,你需要找到以下行:
```
ExecStart=/usr/bin/systemctl halt
```
将其替换为以下两行:
```
ExecStart=/usr/bin/logger -t "systemd-halt" "System is powering off, current runlevel: $(runlevel)"
ExecStart=/usr/bin/systemctl halt
```
这将在关机时使用 `logger` 命令记录当前运行级别,并将其输出到系统日志中。你可以使用 `journalctl` 命令查看日志,例如:
```
sudo journalctl -u systemd-halt
```
这样就完成了修改,保存文件并退出编辑器。然后,重新加载 systemd 配置:
```
sudo systemctl daemon-reload
```
现在,当你关机时,系统日志将记录当前的运行级别。
相关问题
systemd-halt.service 的文件在什么位置
在 CentOS 7 中,`systemd-halt.service`文件的位置为`/usr/lib/systemd/system/systemd-halt.service`。这个文件定义了系统关机时要执行的命令和其他相关属性。
如果需要修改 `systemd-halt.service` 文件,可以使用以下命令将其复制到 `/etc/systemd/system/` 目录下:
```
sudo cp /usr/lib/systemd/system/systemd-halt.service /etc/systemd/system/
```
然后,在 `/etc/systemd/system/` 目录下修改 `systemd-halt.service` 文件即可。修改完成后,需要使用以下命令重新加载 systemd 配置:
```
sudo systemctl daemon-reload
```
这样,修改后的 `systemd-halt.service` 文件就会生效。注意,在修改 `systemd-halt.service` 文件时,应该非常小心,确保修改后的命令能够正确地执行并且不会破坏系统的稳定性。
Centos7 修改systemd-halt.service 捕获关机系统运行级别输出到指定文件下
如果你想将运行级别的信息记录到指定的文件中,而不是系统日志中,可以在 `ExecStart` 行中添加重定向操作符 `>>`,例如:
```
ExecStart=/usr/bin/logger -t "systemd-halt" "System is powering off, current runlevel: $(runlevel)" >> /var/log/shutdown.log
```
这将把运行级别的信息输出到 `/var/log/shutdown.log` 文件中。
然后,你需要创建该文件并确保它可以被系统用户写入。你可以使用以下命令创建文件并设置权限:
```
sudo touch /var/log/shutdown.log
sudo chmod 666 /var/log/shutdown.log
```
这将创建一个空文件并设置权限,使得系统用户可以写入该文件。
完成以上步骤后,重新加载 systemd 配置并测试一下关机是否能够正常记录运行级别到指定的日志文件中:
```
sudo systemctl daemon-reload
sudo systemctl halt
```
之后你可以通过查看 `/var/log/shutdown.log` 文件来查看运行级别的信息。
阅读全文