Zadanie zatrzymania jest uruchomione dla sesji c2 użytkownika


56

Następujący komunikat pojawia się prawie przy każdym wyłączaniu komputera:

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

Oczekuje 1min30s, a następnie kontynuuje proces zamykania. Postępuję zgodnie z tym przewodnikiem diagnozy systemowego zamykania systemu i otrzymuję plik shutdown -log.txt (nie mogę wkleić bezpośrednio dziennika, ponieważ jest on bardzo długi). Niestety nie rozumiem dziennika samodzielnie. Czy ktoś mógłby mi pomóc dowiedzieć się, co powoduje, że mój system nie zamyka się prawidłowo?

Używam Arch Linux z jądrem 4.4.5-1-ARCH, moja systemdwersja to 229-3.

Dodatek 1: Za każdym razem, gdy się wylogowuję, a następnie wyłączam komputer z ekranu logowania, nie pojawia się komunikat A stop job is running.... Wiele razy próbowałem się wylogować przed zamknięciem, więc myślę, że nie dzieje się to przypadkowo. Mam nadzieję, że te informacje mogą pomóc.

Dodatek 2: Zawsze zawiesza się sesja c2. Tak jak sugeruje @ n.st, ponownie spojrzałem na Diagnozowanie problemów z zamykaniem i zapisałem loginctl session-status c2zamiast dmesg, ale wtedy nie ma nic shutdown-log.txt. Wymieniłem loginctl session-status c2przez systemd-cglsi dostał następujące dziennika:

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

Jakieś pomysły?

Uwaga: po aktualizacji do jądra 4.6.4-1-ARCHi systemd 230-7błąd już się nie pojawiał.


Niestety dmesg, wklejone dane wyjściowe nie są zbyt pouczające - pokazuje, że Wi-Fi rozłącza się po naciśnięciu przycisku zamykania (3048 sekund po uruchomieniu systemu), a następnie nic, aż do upływu czasu 1m30s i system nadal się wyłącza (po 3139 sekundach).
n.

1
Aby sprawdzić, co dzieje się w tej złowieszczej sesji c2, która sama się nie kończy, użyj loginctl session-status c2. Nie jestem pewien, czy nadal możesz przejść do getty podczas zamykania systemu, ale spróbuj nacisnąć Ctrl + Alt + F2, gdy pojawi się komunikat „Trwa zadanie zatrzymania…”. Jeśli to zadziała, otrzymasz monit o zalogowanie i będziesz mógł użyć loginctlpolecenia. Jeśli nie pojawi się monit o zalogowanie, wykonaj te same czynności, co w przypadku dmesg, ale loginctl session-status c2zamiast tego zapisz wynik . (To wszystko przy założeniu, że zawsze zawiesza się „c2”, a nie kolejna sesja za każdym razem.)
n.

1
Możesz uzyskać (tymczasową) poprawkę przez ten hack: Utwórz /etc/sysctl.d/50-coredump.confz zawartością :,kernel.core_pattern=core ref: github.com/systemd/systemd/issues/1615#issuecomment-203507283
Runium


2
@ aurelien Czy to zawsze c2 powoduje wyłącznik czasowy przy wyłączaniu? Jeśli tak, możesz ponownie wykonać Diagnozowanie problemów z zamykaniem i zapisać loginctl session-status c2zamiast dmesg.
n.

Odpowiedzi:


45

Rozwiązaniem tego problemu jest skrócenie tego limitu czasu /etc/systemd/system.confz 90 do na przykład 10:

DefaultTimeoutStopSec=10s

i uruchom następującą komendę w terminalu po wprowadzeniu zmian

$ systemctl daemon-reload

9
to nie wyjaśnia ani nie rozwiązuje problemu, a także czekanie na 10 sekund, a nawet brak czystego wyłączenia wcale nie jest świetne
jcora

Czy jest jakaś praca, której zatrzymanie zajmuje więcej niż 10 sekund?
Jared Chu,

10

Ten problem może mieć wiele przyczyn, więc konkretne odpowiedzi nie działają zbyt dobrze. Wypróbuj to w celu rozwiązania problemu:

  1. poczekaj, aż pojawi się komunikat „Zadanie zatrzymania jest uruchomione, aby sesja c2 ...” pojawiła się podczas zamykania i restartuje się po zakończeniu zamykania
  2. uruchom journalctl -p5w terminalu i naciśnij, ENDaby dostać się do końca dziennika systemowego ( -p5odfiltrowuje dużo śmieci)
  3. rozpocznij wyszukiwanie, naciskając /i wprowadź wyszukiwane hasłotimed out. Killing.
  4. szukaj wstecz, naciskając SHIFT+Nkilkakrotnie
  5. wiersz pod każdym dopasowaniem informuje, która aplikacja działała nieprawidłowo:Killing process 1234 (jack_thru) with signal SIGKILL.

Jeśli jest to zawsze ta sama aplikacja, chcesz dowiedzieć się, co robi i dlaczego nie jest zatrzymywana przy wyłączaniu. W przeciwnym razie rozwiązanie problemu może być bardziej skomplikowane, ale nadal możesz uzyskać podpowiedź lub dwie.

Powodzenia! :)


1
Dziękuję za tę poprawną odpowiedź. Użyłem go, aby stwierdzić, że w moim przypadku przyczyną były powiadomienia Fedory 30 „lpf”, aw lpf-gui odznaczone Powiadomienia | Włącz powiadomienia.
vk5tu

5

Miałem ten sam problem, szukając, znalazłem post na forum reddit Arch Linux.

Oto rozwiązanie, które działa dla mnie https://www.reddit.com/r/archlinux/comments/4bawf7/a_stop_job_is_running_for_session_c2_of_user/d17th3u

Zainstaluj watchdog

# pacman -S watchdog

A następnie uruchom usługę przy rozruchu:

# systemctl enable watchdog.service

Uruchom usługę, aby nie widzieć już wiadomości

# systemctl start watchdog.service

Tworzę listę dla tego https://gist.github.com/dianjuar/98d02af4050dc2df8ae6f18695d44ca3


Postępowałem zgodnie z twoim przewodnikiem, ale to nie rozwiązuje problemu. Mimo wszystko dziekuję.
macnguyen

2
Czy są jakieś inne implikacje dla tej poprawki? Najwyraźniej watchdog sprzęt zresetuje system, jeśli opóźni się lub nie przejdzie innych testów. Kiedy więc upłynie limit czasu w pytaniu, watchdog zresetuje komputer. Zastanawiam się, czy system zamknąłby się bardziej czysto, gdybyśmy tylko skrócili limit czasu zgodnie z drugą odpowiedzią. Zastanawiam się także, czy watchdogwymusiłby reset w innych niechcianych sytuacjach.
Sparhawk,

Przeczytałem twoją stronę podręcznika . Myślę, że watchdog zapobiega resetowi informując jądro Linuksa, że ​​wszystko jest w porządku
Diego Juliao,

> Otwiera / dev / watchdog i ciągle pisze do niego wystarczająco często, aby powstrzymać jądro od resetowania, przynajmniej raz na minutę.
Diego Juliao,

Brak pakietu o nazwie watchdog na OpenSuSE, więc to mi naprawdę nie pomaga :(
David Faure

4

Znalazłem tutaj rozwiązanie, które działało dla mnie z Debianem 9 na vbox. Miałem typowe 120 sekundowe opóźnienie po wyłączeniu lub ponownym uruchomieniu.

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

Rób tak, jak mówi Ironman:

Rozwiązaniem jest otwarcie powłoki i „zamknięcie teraz”, a następnie, gdy komputer wróci, wykonaj „restart”, a komunikat zniknie, a przyszłe ponowne uruchomienie się nie zawiesi.

Użyłem „sudo shutdown now” i opóźnienie ponownego uruchomienia już minęło. Wydaje się to zbyt proste, ale zadziałało dla mnie (i innych).

HTH


8
Dlaczego ta odpowiedź ma tak wiele pozytywnych opinii? Nie działało to dla mnie i nie daje pojęcia, dlaczego powinno działać.
Rodrigo

Pracował dla mnie, ale wciąż nie jest jasne, dlaczego tak się stało.
pstryk

3

Mając podobny problem z Kali [2017.01], z naprzemiennym opóźnieniem wylogowania wyświetlanym przez:

„Trwa zadanie zatrzymania dla sesji c1 użytkownika Debian-gdm”

„Uruchomione jest zadanie zatrzymania dla menedżera użytkowników dla UID 132”

Udało mi się usunąć jeden błąd, najpierw zatrzymując się NetworkManagerprzed wyłączeniem lub wyłączając go za pomocą:

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

Prawdopodobnie należy to naprawić lub w inny sposób zrestartować.

Co do drugiego opóźnienia, nie udało mi się. Wygląda na to, że może być powiązany z GDM ( Gnome Display Manager ) pulseaudiolub dbus. Ponieważ nie byłem w stanie wyizolować problemu, jedynym sposobem było ustawienie DefaultTimeout*Sec=5swpisów, system.confjak już wspomniano w innych postach.

Inne problemy, które można zbadać, pokazano w:

# 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.

i:

# 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
Ta odpowiedź zawiera przynajmniej informacje na temat tego, jak znaleźć (z wielu możliwości) problem na naszych indywidualnych komputerach. Jeszcze innym problemem jest to, że po powerofflub nieshutdown możemy się zalogować, aby zobaczyć faktycznego winowajcę. Systemd musi zarejestrować dane wyjściowe z cgls, gdy wystąpi ten problem. Najlepsze, co na razie możemy zrobić, to zapisać dane wyjściowe i skonsultować je później, jeśli / kiedy zawiedzie się ponownie. systemd-cgls
duanev

2

Ponieważ jest to jeden z pierwszych wyników w najbardziej przyjaznej wyszukiwarce, dodam tutaj moje rozwiązanie: używam Arch Linux z Gnome desktop; aktualne jądro na dziś: 4.16.

Dostałem wiadomość A stop job is running for Session c2 of user ... (1min 30s)za każdym razem, gdy Remote Loginbył aktywowany Settings > Sharingi Sharingzostał aktywowany.

Za każdym razem, gdy to wyłączałem, mój komputer ładnie się wyłączał za pomocą przycisku zamykania Gnome.

Ponieważ „zdalne logowanie” to nic innego jak SSH, zakładam, że odpowiedź not2qubit również będzie działać, ponieważ wyłączenie NetworkManager prawdopodobnie również wyłączy SSH.


1

Czasami może to być spowodowane przez jedną aplikację. Zapamiętanie zmian dokonanych tuż przed tym, jak to się stanie, może pomóc w ustaleniu przyczyny. Miałem ten sam problem po instalacji skypeforlinux-stable-binw Arch Linux. Zamknięcie tej aplikacji przed zamknięciem rozwiązało problem (napisałem skrypt, aby zrobić to automatycznie przed zamknięciem).


0

Miałem ten problem przez długi czas, więc pomyślałem, że podzielę się moim rozwiązaniem.

Problem polegał na tym, że Google Chrome działa w tle i nie zamyka się po wyłączeniu komputera. Najlepszym rozwiązaniem jest więc wyłączenie tej funkcji.

  1. Przejdź do ustawień Google Chrome.
  2. Kliknij „Zaawansowane”.
  3. Przejdź do „System”.
  4. Wyłącz „Kontynuuj uruchamianie aplikacji w tle, gdy Google Chrome jest zamknięty”.

wprowadź opis zdjęcia tutaj

To rozwiązało dla mnie. Mam nadzieję, że to pomoże.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.