我的 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