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

dmn*_*dmn 74 shutdown systemd

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

A stop job is running for Session c2 of user ... (1min 30s)
Run Code Online (Sandbox Code Playgroud)

它等待 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 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
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

注意:在我更新到 kernel 4.6.4-1-ARCHand 后systemd 230-7,错误不再发生。

Mig*_*ork 52

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

DefaultTimeoutStopSec=10s
Run Code Online (Sandbox Code Playgroud)

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

$ systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)

  • 这并不能解释或解决问题,还要等待 10 秒,甚至没有完全关机也不是很好 (21认同)
  • 我有什么工作需要 10 秒以上才能停止? (3认同)

mzu*_*her 34

这个问题可能有很多原因,所以具体的答案不太好用。试试这个来排除故障:

  1. 等待“A stop job is running for Session c2 ...”消息出现在关机和关机完成后重新启动
  2. journalctl -p5在终端中运行并按下END以到达 systemd 日志的末尾(-p5过滤掉大量垃圾)
  3. 按开始搜索/并输入搜索词timed out. Killing.
  4. SHIFT+N反复按向后搜索
  5. 每个匹配项下方的行会告诉您哪个应用程序行为不当:Killing process 1234 (jack_thru) with signal SIGKILL.

如果它始终是同一个应用程序,您想了解它的作用以及为什么它在关机时不停止。否则,解决问题可能会更复杂,但您仍然可能会得到一两个提示。

祝你好运!:)


Die*_*iao 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

  • 此修复程序是否有任何其他影响?[显然](https://linux.die.net/man/8/watchdog) `watchdog` 会在系统滞后或其他测试失败时硬件重置系统。所以当问题中的超时发生时,看门狗会重置计算机。我想知道如果我们只是按照 [other](http://unix.stackexchange.com/a/297318/18887) 答案减少超时,系统是否会更干净地关闭。我还想知道 `watchdog` 是否会在其他不需要的情况下强制重置。 (2认同)