用户的会话c2正在运行停止作业


56

几乎每次关闭计算机时都会出现以下消息:

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 c2dmesg,而不是,但是之后没有任何内容shutdown-log.txt。我替换loginctl session-status c2systemd-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您粘贴的输出信息不是很丰富-当您按下“关闭”按钮(系统启动后3048秒)时,WiFi断开连接,直到1m30s计时器到期并且系统继续关闭(3139秒)后,WiFi才断开。
n.st

1
要检查不祥的会话c2中正在运行的,没有终止的内容,请使用loginctl session-status c2。我不确定在关闭过程中是否仍然可以切换到getty,但是尝试在弹出“正在停止作业...”时按Ctrl + Alt + F2。如果可行,您将收到一个登录提示,并能够使用loginctl命令。如果没有收到登录提示,请遵循用于的相同步骤dmesg,而是存储的输出loginctl session-status c2。(这全部是假设总是挂起“ c2”,而不是每次都挂起。)
2013年

1
您可能会通过此黑客得到(临时)修复:/etc/sysctl.d/50-coredump.conf使用内容创建:kernel.core_pattern=core,参考:github.com/systemd/systemd/issues/1615#issuecomment-203507283
Runium 2016年


2
@aurelien是否总是c2导致计时器关闭?如果是这样,您可以再次按照诊断关机问题进行操作,loginctl session-status c2而不要存储dmesg
20:01

Answers:


44

解决此问题的方法是将超时时间/etc/systemd/system.conf从90秒减少到例如10秒:

DefaultTimeoutStopSec=10s

并在更改后在终端中运行以下命令

$ systemctl daemon-reload

9
这不能解释或解决问题,也要等待10秒甚至没有干净的关机都不是很好
jcora

我有什么工作需要十多秒钟才能停止?
Jared Chu

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中取消选择了Notifications |。启用通知。
vk5tu

5

我遇到了同样的问题,在Arch Linux的reddit论坛中搜索后发现了一个帖子。

这是对我有用的解决方案 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

我读了你的手册页。我认为看门狗可以防止重置,告诉Linux内核一切正常,
Diego Juliao

>它会打开/ dev / watchdog,并经常对其进行写操作,以使内核至少每分钟至少一次不被重置。
Diego朱利奥

在OpenSuSE上没有名为watchdog的软件包,因此这对我没有帮助:(
David Faure

4

我在这里找到了适用于vbox上Debian 9的解决方案。我在关机或重新启动时通常会延迟120秒。

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

就像Ironman所说的那样:

解决方案是打开外壳并“立即关闭”,然后在计算机重新启动后执行“重新引导”,消息消失,以后的重新引导不再挂起。

我使用了“ sudo shutdown now”,重启延迟现在消失了。似乎太简单了,但是它对我(和其他人)有用。

高温超导


8
为什么这个答案有这么多投票?它对我不起作用,也没有给出为什么起作用的线索。
罗德里戈

为我工作,但仍不清楚为什么会这样做。
pstryk,

3

在Kali [2017.01]上遇到过类似的问题,并且交替显示注销延迟:

“正在为用户Debian-gdm的会话c1运行停止作业”

“正在为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并在//再次发生挂起时稍后再咨询。
duanev

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. 禁用“关闭Chrome浏览器后继续运行后台应用程序”。

在此处输入图片说明

这为我解决了。希望能帮助到你。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.