为什么嵌套的screen session中只有一个SCREEN进程?
Why is there only one SCREEN process in nested screen session?
我创建了 4
嵌套屏幕会话,但只有一个 SCREEN
进程:
[root@localhost ~]# ps -ef | grep SCREEN
root 4852 4851 0 02:57 ? 00:00:00 SCREEN
root 4915 4900 0 02:58 pts/4 00:00:00 grep --color=auto SCREEN
为什么嵌套屏幕会话中只有一个 SCREEN
进程?我认为应该有 4
SCREEN
个进程:
从 屏幕 window 中调用 screen
不会创建新的 屏幕会话 。相反,只会创建新的 screen windows(就像 ctrl-a c)和新的 screen windows 在同一个 屏幕会话 中 运行。您可以通过按 ctrl-a w 来验证这一点。但是您可以强制它创建新的 屏幕会话 ,例如 screen -S session-name
.
A screen window 只是一个虚拟终端,您可以在其中拥有 shell 运行。 screen session可以认为是所有这些screenwindows运行在同一个screen进程中的集合。会话可以通过 screen -ls
.
找到
screen
程序创建了两个进程来管理伪终端和用户显示。伪终端的一端连接到实际终端,另一端连接到screen
以内运行的外壳。 任何 使用伪终端(例如终端模拟器)的程序都可以做到这一点。
screen
(父进程)
SCREEN
(子进程,然后是后续 shell 的父进程,也称为 "windows")。
您可以通过执行 "ps -ef" 并查看 PID
和 PPID
列来了解这种关系。 PPID
列中给定 -/bin/bash
(或其他)显示的数字将是 PID
列中 SCREEN
显示的数字。
我创建了 4
嵌套屏幕会话,但只有一个 SCREEN
进程:
[root@localhost ~]# ps -ef | grep SCREEN
root 4852 4851 0 02:57 ? 00:00:00 SCREEN
root 4915 4900 0 02:58 pts/4 00:00:00 grep --color=auto SCREEN
为什么嵌套屏幕会话中只有一个 SCREEN
进程?我认为应该有 4
SCREEN
个进程:
从 屏幕 window 中调用 screen
不会创建新的 屏幕会话 。相反,只会创建新的 screen windows(就像 ctrl-a c)和新的 screen windows 在同一个 屏幕会话 中 运行。您可以通过按 ctrl-a w 来验证这一点。但是您可以强制它创建新的 屏幕会话 ,例如 screen -S session-name
.
A screen window 只是一个虚拟终端,您可以在其中拥有 shell 运行。 screen session可以认为是所有这些screenwindows运行在同一个screen进程中的集合。会话可以通过 screen -ls
.
screen
程序创建了两个进程来管理伪终端和用户显示。伪终端的一端连接到实际终端,另一端连接到screen
以内运行的外壳。 任何 使用伪终端(例如终端模拟器)的程序都可以做到这一点。
screen
(父进程)SCREEN
(子进程,然后是后续 shell 的父进程,也称为 "windows")。
您可以通过执行 "ps -ef" 并查看 PID
和 PPID
列来了解这种关系。 PPID
列中给定 -/bin/bash
(或其他)显示的数字将是 PID
列中 SCREEN
显示的数字。