Linux: A stop job is running for Session c1 of user setevoy (1min 30s)

Автор: | 05/15/2019
 

Имеется свежеустановленная система Arch Linux, но проблема и решение подходят для любого дистрибутива с systemd.

При рестартах — висит 1.5 минуты с сообщением вида:

A stop job is running for Session c1 of user setevoy (1min 30s)

Для проверки того, какой именно процесс мешает нормальному ребуту — после загрузки можно вызвать journalctl с опцией -p5 (—priority):

journalctl -p5

Прокрутить сообщения до конца, и найти сообщение с «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 секунд соответственно:

sudo systemctl daemon-reload

Готово.