我使用的是 Windows WSL2,并且只打开了一个终端会话。我使用了命令
ps
和 ps a
。据我所知,PID 559 的 bash 是我正在与之交互的 shell。问题是,为什么我又出现了 PID 399 的 bash?我实际上只打开了一个终端。没有其他会话处于活动状态。
以下是 CLI 响应。
mike@DESKTOP-3B9ANKQ:~$ ps a
PID TTY STAT TIME COMMAND
187 hvc0 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear --keep-baud - 115200,38400,9600 vt220
205 tty1 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear - linux
317 pts/1 Ss 0:00 /bin/login -f
399 pts/1 S+ 0:00 -bash
559 pts/0 Ss 0:00 -bash
591 pts/0 R+ 0:00 ps a
mike@DESKTOP-3B9ANKQ:~$ ps
PID TTY TIME CMD
559 pts/0 00:00:00 bash
592 pts/0 00:00:00 ps
使用 Windows 上的 WSL2,看到两个 bash 进程是很常见的。通常 第一个 bash 进程可能是 WSL init 或管理 shell 第二个将用于您当前的终端。
甚至你可以在这里查看进程的父子层次结构来了解 bash 进程连接
pstree -p | grep bash
试试这个。