Как я правильно выполняю этот systemd сервис на завершение работы?

Я монтирую свой Google Drive на использовании входа в систему google-drive-ocamlfuse. Проблема - это, закрытие или перезагрузка теперь, кажется, имеют добавленную 2-минутную паузу.

Теперь, если, когда я размонтировал Google Drive до закрытия, все идет путем, которым это должно и нет никакой паузы.

Я осмотрел некоторых systemd сервисы и созданный новый, не зная точно, что я делаю ("образованное предположение").

/etc/systemd/system/rs-shutdown.service:

# Redsandro 2017-09-1 
# Unmount GoogleDrive to prevent shutdown delay.

[Unit]
Description=Unmount GoogleDrive on shutdown
Before=umount.target shutdown.target reboot.target halt.target

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/bin/sh -c "umount /home/redsandro/GoogleDrive"

[Install]
WantedBy=multi-user.target

Затем я работал:

sudo systemctl enable rs-shutdown.service
sudo systemctl start rs-shutdown.service

Однако завершение работы все еще отстает на 2 минуты. Я все еще должен вручную размонтировать долю, если я хочу быстрое завершение работы.

Существует ли решение, или это - просто неправильное место, чтобы попытаться сделать то, что я хочу?

Я запускаю Linux Mint 17 и Ubuntu 16.04.3.

3
задан 3 September 2017 в 13:37

1 ответ

Вот пример простого сервиса, который выполняет задачу перед завершением работы. Обратите внимание на то, что зависимости по умолчанию отключены DefaultDependencies=no опция

[Unit]
Description=SleepBeforeShutdown Service
DefaultDependencies=no
Before=halt.target shutdown.target reboot.target

[Service]
Type=oneshot
ExecStart=/bin/sleep 30
RemainAfterExit=yes

[Install]
WantedBy=halt.target shutdown.target reboot.target

После создания/редактирования Вашего сервисного выполненного файла единицы systemctl enable yourservice.service и перезагрузка. (не необходимо работать systemctl start yourservice.service). После этого любое время, Вы выполняете завершение работы, останов или перезагрузку, сервис типа-oneshot, сделает свою вещь сначала и затем системные доходы с фактическим завершением работы/перезагрузкой.

Править
Я теперь нашел предыдущее сообщение, где то же решение предлагалось. У меня нет кредитов для добавления комментариев со ссылкой на вопрос выше, таким образом, я оставлю свой ответ, как (даже при том, что строго говоря это - дубликат), Модераторы, удалите это сообщение, если это нарушает правила.

Редактирование 2
И все же другое старое сообщение с тем же ответом. Действительно не настолько трудный найти...

0
ответ дан 1 December 2019 в 20:46

Другие вопросы по тегам:

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