Как служба systemd может определить, что система отключается?

Вы можете использовать команду CHMOD для изменения прав или разрешений для папки и команду CHOWN для изменения владельца.

Для смены владельца вам необходимо использовать sudo от root к себе.

Вот синтаксис

Чтобы изменить владельца только для папки.

sudo chown <username>:<groupname> <foldername>

Для рекурсивной смены владельца папки для всех файлов и папок внутри папки.

sudo chown -R <username>:<groupname> <foldername>
6
29.10.2017, 18:40
2 ответа

Этот ответ объясняет, как использовать цель мощности

Вы можете добавить службу, которая будет запускать команду при отключении питания -, что-то вроде

[Unit]
Description=My command on power event
Before=shutdown.target
DefaultDependencies=no

[Service]
ExecStart=/some/thing/to/execute
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=shutdown.target
1
27.01.2020, 20:30

Оказывается, можно определить состояние системы, проверив вывод

systemctl is-system-running      # See man 1 systemctl for more info

В вашем случае рекомендую обмотать часть отвечающую за выключение ваших ламп:

if [[ "$(systemctl is-system-running || true)" == "stopping" ]]; then
    # RUN THE COMMANDS OR EXECUTABLES FOR TURNING OFF THE LAMP HERE
fi

Конечно, вы всегда можете встроить проверку непосредственно в ExecStop, если не хотите поддерживать отдельную оболочку (т.е.ExecStop=sh -c 'if... fi).

2
23.07.2020, 09:31

Теги

Похожие вопросы