MoF*_*oFu 7 arch-linux udev systemd
我有一个硬盘,它有一个非常积极的电源管理。为了防止负载周期上升到临界值,我写了一个 udev 规则:
SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="TOSHIBA MK2555GS", RUN+="/usr/bin/hdparm -B 200 /dev/%k"
Run Code Online (Sandbox Code Playgroud)
问题是,在我将笔记本从睡眠中唤醒后,不会触发此规则。因此,我有以下 systemd 服务:
[Unit]
Description=root resume actions
After=suspend.target
[Service]
Type=simple
ExecStart=/bin/hdparm -B 200 /dev/sda
[Install]
WantedBy=suspend.target
Run Code Online (Sandbox Code Playgroud)
我更喜欢ExecStart命令类似于/bin/udevadm trigger --subsystem-match="block". 所以我不必明确说明内核名称。如果我手动执行此命令,电源管理会正确调整,但它在 systemd 服务中不起作用。有没有办法做到这一点?顺便说一句,我正在使用 arch-linux
小智 2
您可以放置一个执行 hdparm 的脚本/usr/lib/systemd/systemd-sleep。您可以使用 hdparm/dev/disk/by-uuid/代替/dev/sda...
或者尝试使用/bin/sh -c "/bin/hdparm -B 200 /dev/disk/by-uuid/XY"
| 归档时间: |
|
| 查看次数: |
2805 次 |
| 最近记录: |