Следующее сообщение появляется почти каждый раз, когда я выключаю компьютер:
A stop job is running for Session c2 of user ... (1min 30s)
Он ждет 1 мин 30 с, затем продолжает процесс выключения. Я следую этому руководству по диагностике выключения systemd и получаю shutdown-log.txt (я не могу вставить сюда журнал напрямую, потому что он очень длинный). К сожалению, я не понимаю журнал самостоятельно. Может ли кто-нибудь помочь мне выяснить, что заставляет мою систему не выключаться должным образом?
Я запускаю Arch Linux с ядром 4.4.5-1-ARCH
, моя systemd
версия 229-3
.
Дополнение 1: Я наблюдаю, что каждый раз, когда я выхожу из системы, а затем выключаю компьютер с экрана входа в систему, он не получает сообщение A stop job is running...
. Я пытался выйти из системы до выключения много раз, поэтому я думаю, что это не происходит случайно. Надеюсь, что информация может помочь.
Дополнение 2: Это всегда сессия c2, которая вызывает зависание выключения. Поэтому, как подсказывает @ n.st, я снова посмотрел на Диагностику проблем с выключением и сохранил loginctl session-status c2
вместо dmesg
, но тогда ничего не было shutdown-log.txt
. Я заменил loginctl session-status c2
на systemd-cgls
и получил следующий журнал:
Control group /:
-.slice
└─init.scope
├─ 1 /usr/lib/systemd/systemd-shutdown reboot --log-level 6 --log-target ...
├─1069 /usr/lib/systemd/systemd-shutdown reboot --log-level 6 --log-target ...
├─1071 /bin/sh /usr/lib/systemd/system-shutdown/debug.sh reboot
└─1074 systemd-cgls
Есть идеи?
Примечание: После того, как я обновил ядро 4.6.4-1-ARCH
и systemd 230-7
ошибка больше не произошла.
loginctl session-status c2
. Я не уверен, что вы все еще можете переключиться на getty во время выключения, но попробуйте нажать Ctrl + Alt + F2, когда появится «Остановка задания ...». Если это сработает, вы получите приглашение для входа в систему и сможете использовать loginctl
команду. Если вы не получите приглашение для входа в систему, выполните те же шаги, которые вы использовали для dmesg
, но сохраните результат loginctl session-status c2
вместо. (Это все при условии, что всегда висит «c2», а не очередной сеанс каждый раз.)
/etc/sysctl.d/50-coredump.conf
с содержанием:, kernel.core_pattern=core
ref: github.com/systemd/systemd/issues/1615#issuecomment-203507283
loginctl session-status c2
вместо dmesg
.
dmesg
результат, который вы вставили, не очень информативен - он показывает, что WiFi отключается, когда вы нажимаете кнопку выключения (через 3048 секунд после загрузки системы), а затем ничего, пока не истечет таймер 1m30s и система не продолжит выключение (при 3139 секундах).