Почему при использовании команды 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 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

но при использовании команды screen -ls вы можете обнаружить только два экранных процесса:(так почему ps auxf показывает 3 процесса?

кстати, команда wy screen имеет какое-то отношение к сокетам?

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

1 ответ

Вы вроде как должны думать об экране, как о клиенте и сервере. Когда вы начинаете новый сеанс экрана, у вас есть процесс, действующий как клиент, с которым вы взаимодействуете, и второй процесс, который является родителем всех окон / программ, которые вы создаете / запускаете. При отключении вашего клиента процесс закрывается.

В вашей системе с тремя процессами у вас запущены два сеанса экрана и один экранный клиент, подключенный к одному из этих сеансов.

Сеансы экрана - это процессы с ЭКРАНОМ во всех заглавных буквах. Клиентский процесс является строчной версией.

Другие вопросы по тегам