为什么使用ps命令时有三个(应该是两个)与屏幕相关的进程?

您可以看到有三个与屏幕命令相关的进程

[world]$ ps auxf USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND hugemeow 28938 0.0 0.0 66080 1692 ? S 23:03 0:00 sshd: hugemeow@pts/0 hugemeow 28941 0.0 0.0 102040 2172 pts/0 Ss 23:03 0:00 \_ -bash **hugemeow 30231 0.0 0.0 19436 1172 pts/0 S+ 23:08 0:00** \_ tmux -L la -d hugemeow 15696 0.0 0.1 124804 18480 ? S 22:18 0:01 php5.cgi hugemeow 20388 0.0 0.0 19600 1376 ? Ss 04:47 0:05 tmux -L l hugemeow 20389 0.0 0.0 102064 2040 pts/2 Ss 04:47 0:00 \_ -bash **hugemeow 20440 0.0 0.0 107424 1004 pts/2 S+ 04:48 0:00** | \_ screen -dr l // 1 hugemeow 20524 0.0 0.0 102060 2048 pts/3 Ss 04:48 0:00 \_ -bash hugemeow 20534 0.0 0.0 18856 1148 pts/3 S+ 04:48 0:01 \_ top hugemeow 8257 0.0 0.0 107948 996 ? Ss Aug13 0:12 SCREEN -S cmd // 2 hugemeow 8258 0.0 0.0 102084 1528 pts/11 Ss+ Aug13 0:00 \_ /bin/bash hugemeow 25035 0.0 0.0 102076 2052 pts/1 Ss+ Aug14 0:00 \_ /bin/bash **hugemeow 24542 0.0 0.0 108072 1040 ? Ds Aug13 0:21 SCREEN** -S l // 3 hugemeow 24545 0.0 0.0 102124 1564 pts/8 Ss Aug13 0:00 \_ /bin/bash hugemeow 25589 0.0 0.0 18840 1160 pts/8 S+ Aug14 0:02 | \_ top hugemeow 25894 0.0 0.0 102124 1616 pts/9 Ss Aug13 0:00 \_ /bin/bash hugemeow 30249 0.0 0.0 98740 1008 pts/9 R+ 23:08 0:00 \_ ps auxf 

但是当使用screen -ls命令时,你会发现只有两个屏幕进程:(所以为什么ps auxf显示3个进程?

顺便说一句,你的屏幕命令有什么与sockets?

 screen -ls There are screens on: 8257.cmd (08/13/2012 08:48:53 PM) (Detached) 24542.l (08/13/2012 07:52:30 PM) (Attached) 2 Sockets in /var/run/screen/S-hugemeow ls /dev/pts -l total 0 crw--w---- 1 hugemeow tty 136, 0 2012-08-15 23:15 0 crw--w---- 1 hugemeow tty 136, 1 2012-08-14 11:08 1 crw--w---- 1 hugemeow tty 136, 11 2012-08-14 11:06 11 crw------- 1 hugemeow tty 136, 2 2012-08-15 23:15 2 crw--w---- 1 hugemeow tty 136, 3 2012-08-15 23:15 3 crw--w---- 1 hugemeow tty 136, 8 2012-08-15 23:15 8 crw--w---- 1 hugemeow tty 136, 9 2012-08-15 23:15 9 

你必须把屏幕看作是客户端和服务器。 当你开始一个新的屏幕会话时,你有一个作为客户端的交互过程,第二个进程是你创build/启动的任何窗口/程序的父进程。 当你断开你的客户端进程closures。

在三个进程的系统上,您有两个屏幕会话正在运行,一个屏幕客户端连接到其中一个会话。

屏幕会话是所有大写的SCREEN进程。 客户端进程是小写版本。