Имеется свежеустановленная система Arch Linux, но проблема и решение подходят для любого дистрибутива с systemd
.
При рестартах – висит 1.5 минуты с сообщением вида:
A stop job is running for Session c1 of user setevoy (1min 30s)
Для проверки того, какой именно процесс мешает нормальному ребуту – после загрузки можно вызвать journalctl
с опцией -p5
(–priority):
[simterm]
$ journalctl -p5
[/simterm]
Прокрутить сообщения до конца, и найти сообщение с “Killing”:
Feb 25 20:04:14 setevoy-arch-pc systemd[1]: session-1.scope: Stopping timed out. Killing.
Feb 25 20:04:14 setevoy-arch-pc systemd[1]: session-1.scope: Killing process 20420 (sudo) with signal SIGKILL.
Feb 25 20:04:14 setevoy-arch-pc systemd[1]: session-1.scope: Killing process 20429 (openvpn) with signal SIGKILL.
Feb 25 20:04:14 setevoy-arch-pc systemd[1]: session-1.scope: Failed with result ‘timeout’.
А дальше дело техники – найти причину, почему процесс не останавливается нормально.
Можно просто уменьшить таймаут ожидания для принудительной остановки процессов.
Для этого редактируем /etc/systemd/system.conf
, и задаём DefaultTimeoutStartSec
и DefaultTimeoutStopSec
, которые по-умолчанию имеют таймаут в 90 секунд:
... DefaultTimeoutStartSec=30s DefaultTimeoutStopSec=10s ...
Перезагружаем конфиги systemd
, и при следующем рестарте ожидание будет 30 и 10 секунд соответственно:
[simterm]
$ sudo systemctl daemon-reload
[/simterm]
Готово.