Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Как запустить скрипт перед или после засыпания (suspend) : Linux

29.03.2024 10:48


24.03.2019 09:18
OlegON
 
Будем рассматривать систему с systemd, которая, скорее всего, у вас и есть.
Такие системы выключаются через target suspend.
Соответственно, можно почитать
Код:
man systemd-suspend.service
а там в данный момент написано, что перед и после засыпания все исполняемое из
Код:
/usr/lib/systemd/system-sleep/
запускается с параметрами pre и post перед и после просыпания (suspend) соответственно и можно выполнять скрипт типа
Код:
#!/bin/bash
if [ "${1}" == "pre" ]; then
  # Что делаем перед сном
  echo "we are suspending at $(date)..." > /tmp/systemd_suspend_test
elif [ "${1}" == "post" ]; then
  # Что делаем после сна
  echo "...and we are back from $(date)" >> /tmp/systemd_suspend_test
fi
Обратите внимание, что это все будет происходить уже без сети.
20.04.2019 18:32
OlegON
 
Да, еще нюанс в том, что если попытаетесь, например, выключить комп вместо засыпания, то poweroff в скрипте /usr/lib/systemd/system-sleep/poweroff.sh, который я создал, работает только при просыпании :(
19.05.2019 13:05
OlegON
 
Кстати, мысль пришла, как запретить suspend

Код:
sudo systemctl mask sleep.target systemd-suspend.service
Часовой пояс GMT +3, время: 10:48.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.