Завдання зупинки виконується для сесії c2 користувача


56

Таке повідомлення з’являється майже кожного разу, коли вимикаю комп'ютер:

A stop job is running for Session c2 of user ... (1min 30s)

Він чекає 1min30s, а потім продовжує процес відключення. Я дотримуюся цього посібника з діагностики закритого вимикання і отримую 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помилка більше не сталася.


На жаль, dmesgвихід, який ви вставили, не дуже інформативний - він показує відключення Wi-Fi при натисканні кнопки відключення (3048 секунд після завантаження системи), а потім нічого, поки не закінчиться таймер 1m30s і система продовжить вимикатися (на 3139 секунд).
n.st

1
Щоб перевірити, що працює в тому зловісному сеансі c2, який не закінчується самостійно, використовуйте loginctl session-status c2. Я не впевнений, чи зможете ви все-таки переключитися на getty під час відключення, але спробуйте натиснути Ctrl + Alt + F2, коли спливає "Завдання зупинки ...". Якщо це працює, ви отримаєте підказку для входу та зможете використовувати loginctlкоманду. Якщо ви не отримаєте запит на вхід, виконайте ті ж самі кроки, які ви використовували dmesg, але loginctl session-status c2замість цього збережіть результат . (Це все припускаючи, що це завжди "с2", що висить, а не черговий сеанс кожного разу.)
n.st

1
Ви можете отримати (тимчасовий) виправлення цим хаком: Створіть /etc/sysctl.d/50-coredump.confіз вмістом:, kernel.core_pattern=coreref: github.com/systemd/systemd/isissue/1615#issuecomment-203507283
Runium

1
github.com/systemd/systemd/issues/2691 Це може бути актуально
Natecat

2
@aurelien Чи це завжди c2, що викликає відключення таймера? Якщо так, ви можете повторити Діагностика проблем із вимкненням знову і зберігати loginctl session-status c2замість них dmesg.
n.st

Відповіді:


45

Вирішення цієї проблеми полягає в тому, щоб зменшити цей час очікування /etc/systemd/system.confвниз з 90-х до, наприклад, 10-х:

DefaultTimeoutStopSec=10s

та виконати наступну команду в терміналі після внесення змін

$ systemctl daemon-reload

9
це не пояснює і не вирішує проблему, також чекання 10-х та навіть відсутність чистого відключення зовсім не чудово
jcora

У мене є якась робота, щоб зайняти більше 10 секунд, щоб зупинити?
Джаред Чу

10

Ця проблема може мати багато причин, тому конкретні відповіді не надто добре працюють. Спробуйте це для усунення несправностей:

  1. зачекайте, поки повідомлення "Зупинка запущено для сесії c2 ..." з'явиться при відключенні та перезавантаженні після завершення відключення.
  2. запустіть journalctl -p5у терміналі і натисніть, ENDщоб дійти до кінця системного журналу ( -p5фільтрує багато сміття)
  3. розпочати пошук, натиснувши /та введіть пошуковий термінtimed out. Killing.
  4. пошук назад, натискаючи SHIFT+Nкілька разів
  5. рядок під кожним матчем повідомляє, яка програма не поводилася:Killing process 1234 (jack_thru) with signal SIGKILL.

Якщо це завжди одна і та сама програма, ви хочете з’ясувати, що вона робить, і чому вона не зупиняється при відключенні. Інакше вирішити проблему може бути складніше, але ви все одно можете отримати підказку чи два.

Удачі! :)


1
Дякую за правильну відповідь. Я використовував це, щоб дізнатися, що в моєму випадку Fedora 30 "lpf" сповіщення стало причиною, а в lpf-gui скасовано сповіщення | Увімкнути сповіщення.
vk5tu

5

У мене була така ж проблема, пошук я знайшов допис на форумі reddit Arch Linux.

Ось рішення, яке працює для мене https://www.reddit.com/r/archlinux/comments/4bawf7/a_stop_job_is_running_for_session_c2_of_user/d17th3u

Встановити сторожову службу

# pacman -S watchdog

А потім запустіть службу при завантаженні:

# systemctl enable watchdog.service

Запустіть службу, щоб більше не бачити повідомлення

# systemctl start watchdog.service

Я створюю суть цього https://gist.github.com/dianjuar/98d02af4050dc2df8ae6f18695d44ca3


Я дотримувався вашого керівництва, але це не вирішує проблему. В будь-якому випадку, дякую Вам.
macnguyen

2
Чи є якісь інші наслідки до цього виправлення? Мабуть watchdog , апаратура скине систему, якщо вона відстає або не виконає інших тестів. Отже, коли настане час очікування у питанні, сторожовий собака скине комп'ютер. Мені цікаво, чи не буде система відключена більш чисто, якби ми просто скоротили час очікування відповідно до іншої відповіді. Мені також цікаво, чи watchdogне примусить би бути перезавантаження в інших, небажаних ситуаціях.
Sparhawk

Я читаю вашу сторінку чоловіка . Я думаю, що сторожовий пес перешкоджає
скиданню,

> Він відкриває / dev / watchdog і продовжує писати до нього досить часто, щоб ядро ​​не скидалось, принаймні один раз на хвилину.
Дієго Джуліао

На OpenSuSE немає жодного пакета з іменем сторожовий, тому мені це не дуже допомагає :(
David Faure

4

Тут я знайшов рішення, яке працювало для мене з Debian 9 на vbox. Я отримував типову затримку 120 секунд при відключенні або перезапуску.

https://forums.kali.org/showthread.php?32498-Delay-90-seconds-on-shutdown

Зробіть так, як каже Ironman:

Рішення полягає в тому, щоб відкрити оболонку та "вимкнути зараз", тоді коли машина повернеться, то зробіть "перезавантаження", і повідомлення відходить, і майбутні перезавантаження більше не зависають.

Я використав "sudo shutdown now", і затримка перезапуску вже пішла. Здається, занадто просто, але це працювало для мене (та інших).

HTH


8
Чому ця відповідь має стільки відгуків? Це не працювало для мене, і це не дає поняття, чому це має працювати.
Родріго

Працював для мене, але досі незрозуміло, чому це зробили.
пстрик

3

Виникли подібні проблеми з Kali [2017.01], із змінною затримкою виходу, що відображається:

"Запуск завдання зупинки для сесії c1 користувача Debian-gdm"

"Запускається завдання зупинки для Менеджера користувачів для UID 132"

Мені вдалося позбутися однієї помилки, попередньо зупинившись NetworkManagerперед відключенням або відключивши її, за допомогою:

# To get rid of: "A stop job is running for User manager for UID 132"
systemctl disable NetworkManager 
systemctl stop NetworkManager 

Це, ймовірно, має бути виправлено чи по-іншому під час перезавантаження.

Щодо іншої затримки, я не мав успіху. Схоже, це може бути пов’язано з GDM ( Gnome Display Manager ) pulseaudioабо dbus. Оскільки я не зміг вирішити проблему, єдиним способом було встановити DefaultTimeout*Sec=5sзаписи, system.confяк уже згадувалося в інших посадах.

Інші проблеми, які можуть бути досліджені, показані в:

# systemctl --state=masked --state=not-found --state=failed

  UNIT                           LOAD      ACTIVE   SUB  DESCRIPTION                   
 tmp.mount                      not-found inactive dead tmp.mount                     
 auditd.service                 not-found inactive dead auditd.service                
 console-screen.service         not-found inactive dead console-screen.service        
 festival.service               not-found inactive dead festival.service              
 kbd.service                    not-found inactive dead kbd.service                   
 live-tools.service             masked    inactive dead live-tools.service            
 plymouth-quit-wait.service     not-found inactive dead plymouth-quit-wait.service    
 plymouth-quit.service          not-found inactive dead plymouth-quit.service         
 plymouth-start.service         not-found inactive dead plymouth-start.service        
 systemd-sysusers.service       not-found inactive dead systemd-sysusers.service      
 systemd-update-done.service    not-found inactive dead systemd-update-done.service   
 systemd-vconsole-setup.service not-found inactive dead systemd-vconsole-setup.service
 syslog.target                  not-found inactive dead syslog.target                 

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

і:

# systemd-cgls -u user-132.slice

Unit user-132.slice (/user.slice/user-132.slice):
├─user@132.service
 ├─pulseaudio.service
  └─739 /usr/bin/pulseaudio --daemonize=no
 ├─at-spi-dbus-bus.service
  ├─704 /usr/lib/at-spi2-core/at-spi-bus-launcher
  ├─709 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
  └─712 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
 ├─dbus.service
  └─694 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
 └─init.scope
   ├─597 /lib/systemd/systemd --user
   └─600 (sd-pam)
└─session-c1.scope
  ├─577 gdm-session-worker [pam/gdm-launch-environment]
  ├─613 /usr/lib/gdm3/gdm-x-session gnome-session --autostart /usr/share/gdm/greeter/autostart
  ├─618 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/132/gdm/Xauthority -background none -noreset -keeptty -verbose 3
  ├─697 /usr/lib/gnome-session/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart
  ├─721 /usr/bin/gnome-shell
  └─752 /usr/lib/gnome-settings-daemon/gnome-settings-daemon

2
Ця відповідь принаймні дає нам певну інформацію про те, як знайти, що (з багатьох можливостей) може спричинити проблему на наших окремих машинах. Ще одна проблема полягає в тому, що після poweroffабо shutdownми не можемо увійти, щоб побачити фактичного винуватця. systemd потребує реєстрації виводу з cgls, коли ця проблема трапляється. Найкраще, що ми можемо зробити зараз, - це зберегти вихідний результат systemd-cglsі проконсультуватися з ним пізніше, якщо / коли повішення відбудеться знову.
дуанев

2

Оскільки це один з перших результатів у дружній пошуковій системі коли-небудь, я додам тут своє рішення: я використовую Arch Linux з робочим столом Gnome; поточне ядро ​​станом на сьогодні: 4.16.

Я отримував це повідомлення A stop job is running for Session c2 of user ... (1min 30s)кожного разу, коли він Remote Loginбув активований Settings > Sharingі Sharingактивувався.

Щоразу, коли я це відключав, мій комп'ютер прекрасно вимикався за допомогою кнопки вимкнення Gnome.

Оскільки "Віддалений Вхід" - це не що інше, як SSH, я припускаю, що відповідь not2qubit також буде працювати, оскільки відключення NetworkManager, ймовірно, також відключить SSH.


1

Іноді це може бути викликано одним додатком. Запам'ятовування змін, що відбулися перед тим, як це почнеться, може бути корисним для встановлення причини. У мене була така ж проблема після встановлення skypeforlinux-stable-binв Arch Linux. Закриття програми перед вимкненням вирішило проблему (я написав сценарій, щоб це було зроблено автоматично перед вимкненням).


0

У мене ця проблема була давно, тому я думав, що поділюсь своїм рішенням.

Проблема полягала в тому, що Google Chrome працює у фоновому режимі і не закривається при відключенні комп'ютера. Тож найкраще рішення - вимкнути цю функцію.

  1. Перейдіть до налаштувань Google Chrome.
  2. Клацніть на "Додатково".
  3. Перейдіть до "Система".
  4. Вимкнути "Продовжити запуск фонових програм, коли Google Chrome закритий".

введіть тут опис зображення

Це вирішило це для мене. Сподіваюся, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.