memo

2015-06-07

systemd 環境で sleep 前後にコマンドを実行する方法

Sleep の前後で wifi のカーネルモジュールを unload/load したかったので、調べた。

以下のような .service ファイルを置いて、 systemctl enable しとけば良さそう。

/etc/systemd/system/unload-mwifiex.service:

[Unit]
Description=Unload mwifiex kernel module
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=-/sbin/rmmod mwifiex_pcie
ExecStart=-/sbin/rmmod mwifiex
ExecStop=-/sbin/modprobe mwifiex_pcie

[Install]
WantedBy=sleep.target

参照: https://wiki.archlinux.org/index.php/Power_management#Sleep_hooks