porque há três (deve ser dois) processo relacionado à tela ao usar o comando ps?

1

você pode ver que há três processos relacionados ao comando screen:

[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 l a -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

mas ao usar a tela -ls comando, você pode encontrar há apenas dois processo de tela :( então por que o ps auxf mostra 3 processos?

a propósito, o comando wy screen tem algo a ver com soquetes?

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
    
por giantforest 16.08.2012 / 08:27

1 resposta

4

Você tem que pensar na tela como se fosse um cliente e um servidor. Quando você inicia uma nova sessão de tela, você tem o processo agindo como um cliente com o qual você interage e um segundo processo que é o pai de quaisquer janelas / programas que você cria / inicia. Quando você desconecta seu processo de cliente fecha.

Em seu sistema com três processos, você tem duas sessões de tela em execução e um cliente de tela conectado a uma dessas sessões.

As sessões de tela são os processos com SCREEN em todas as letras maiúsculas. O processo do cliente é a versão em minúsculas.

    
por 16.08.2012 / 08:57