WSL Ubuntu 会话永远不会真正关闭(除非我 SIGKILL 它们)

WSL Ubuntu 会话永远不会真正关闭(除非我 SIGKILL 它们)

我的 Windows 10 计算机上有一个 WSL Ubuntu 实例。 Ubuntu 实例有不同的用户。如果我重新启动 Ubuntu 实例并以 root 身份登录,我可以看到(使用w)除此 root 会话外不存在任何会话。

然后我用另一个用户登录,然后立即再次注销。

在此输入图像描述

w一直告诉我testuser仍然处于登录状态。

在此输入图像描述

我可以让它注销的唯一方法是终止进程,并且它不会对 SIGTERM 做出反应,需要 SIGKILL 才能完成。

在此输入图像描述

其他观察结果:

  • 可以使用 SIGTERM 终止与 WSL Ubuntu 的 SSH 会话
  • 当用户关闭连接时,与 WSL Ubuntu 的 SSH 会话将关闭(即exit
  • 在我的常规(非 WSL)Ubuntu 机器上,任何会话(我尝试过的)都可以被 SIGTERM 终止
  • 如果使用同一用户通过多个 Power shell 登录 WSL Ubuntu,则仅显示一个会话w

问题

当我认为用户已经注销时,这引起了相当大的混乱。

这是一个错误吗?这种设计有充分的理由吗?我可以在某些配置中更改某些内容吗?

环境详情

PS C:\> wsl -v
WSL version: 2.0.9.0
Kernel version: 5.15.133.1-1
WSLg version: 1.0.59
MSRDC version: 1.2.4677
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19045.3693
PS C:\> wsl -l -v
NAME            STATE           VERSION
* Ubuntu-22.04    Running         2
root@ELCON45223:~# cat /proc/version
Linux version 5.15.133.1-microsoft-standard-WSL2 (root@1c602f52c2e4) (gcc (GCC) 11.2.0, 
GNU ld (GNU Binutils) 2.37) #1 SMP Thu Oct 5 21:02:42 UTC 2023

相关内容