Как узнать, какой процесс запущен в конкретном окне экрана GNU?

Эти модули предназначены для реального -доступа к файлам антивирусного программного обеспечения. Судя по названию "Trend Deep Security Agent" Антивирус Trend Micro, но мог и другой.

2
11.12.2019, 00:20
1 ответ

The only way to gain the information I might need from screen (by calling screen) is through the use of it's command line flags.

Нееет. Вы смотрите на screenнеправильно. screenявляется виртуальным псевдо-терминалом -(, поэтому он подключается к/dev/pts/*)и может взаимодействовать с ним сотнями различных способов. В тот момент, когда вы запускаете screen, вы получаете сокет, видимый в netstat, с которым вы можете взаимодействовать, и то, как вы управляете этим взаимодействием с сокетом, будет определять, сколько времени займет данный обмен. Лучший способ сделать это общение как можно быстрее — воспользоваться тем, о чем уже сообщают, вместо того, чтобы отправлять запрос и ждать ответа.

В вашем случае проблему можно решить, запустив wследующим образом:

shark@tank:~$ sudo w
 20:39:11 up 2 days,  1:24,  2 users,  load average: 0.64, 0.41, 0.44
USER     TTY      FROM             LOGIN@   IDLE       WHAT
shark    tty7     :0               Sun19    2days      /usr/lib/xorg/Xorg :0 *
fish     pts/1    :pts/6:S.0       20:31    7:42       htop

, как вы можете видеть, второй пользователь fish, работающий на сокете screen, подключен к ttyна /dev/pts/1, который принадлежит пользователю shark, как можно увидеть, запустив ls -la /dev/pts/, и этот сокет прослушивает в /dev/pts/6 и там работает htop.

Как мы можем дважды -проверить, действительно ли это сокетное соединение? Запустив:

sudo file /run/screen/*/*
/run/screen/S-fish/98633.pts-6.tank: socket

и число, которое мы видим, соответствует

ps aux | grep 98633 -B 1 -A 1 
fish      98632  0.0  0.0   6732  2964 pts/6   S+   20:31   0:00 screen
fish      98633  0.0  0.0   7032  2576 ?        Ss   20:31   0:00 SCREEN
fish      98634  0.0  0.0   8660  5400 pts/1   Ss+  20:31   0:00 /bin/bash

Команда запрашивает эту информацию из /procи /var/run/utmp, и попадание минимально, как можно увидеть, запустив:

$ sudo usr/bin/time -f "\t%E real\n\t%U user\n\t%S sys\n" w > /dev/null
    0:00.01 real
    0.00 user
    0.01 sys
0
27.01.2020, 22:24

Теги

Похожие вопросы