Что '/tmp/.X11-unix / '?

Проблема с выводом состоит в том, что требуется сгруппировать три слова (хотя логически пара "ключ-значение") в первой строке вывода, еще трех в следующих и заключительных двух в третьей строке.

Для этой конкретной проблемы быстрый путь был бы:

executeSQLQuery "$QUERY" | awk '{print $1 " " $2 " " $3 "\n" $4 " " $5 " " $6 "\n" $7 " "$8 }'

Но обычно это лучше изменило бы запрос на что-то как:

SELECT FullName as 'Your name', Phone as 'Your phone', Email FROM Table1 WHERE EmpID=001;

и затем получая строку наряду с именами столбцов и создавая желаемый вывод в жемчуге или некотором другом языке.

31
16.04.2015, 21:42
2 ответа

На моем довольно современном ноутбуке Arch, /tmp/.X11-unix / - это каталог с одной записью: X0 , сокет домена Unix .

Сервер X11 (в наши дни обычно Xorg ) взаимодействует с такими клиентами, как xterm , firefox и т. Д., Через какой-то надежный поток байтов. Доменный сокет Unix, вероятно, немного более безопасен, чем сокет TCP, открытый для мира, и, вероятно, немного быстрее, поскольку все это делает ядро ​​и ему не нужно полагаться на Ethernet или беспроводную карту.

Мой сервер X11 отображается как:

bediger    294   293  0 Apr09 tty1     01:23:26 /usr/lib/xorg-server/Xorg -nolisten tcp :0 vt1 -auth /tmp/serverauth.aK3Lrv5hMV

«-nolisten tcp» не позволяет ему открывать TCP-порт 6000 для связи.

Команда lsof -U может сказать вам, какие процессы используют какие сокеты домена Unix.Я вижу Xorg как подключенный к /tmp/.X11-unix/X0 .

21
27.01.2020, 19:38

X-сервер имеет несколько способов связи с X-клиентами (приложениями). Наиболее распространенным из них, по крайней мере, на одной машине, является Unix-доменный сокет.

Сокет Unix-домена похож на более привычные TCP-сокеты, за исключением того, что вместо подключения к адресу и порту вы подключаетесь к пути . Для подключения используется действительный файл (файл сокета).

X-сервер помещает свой сокет в /tmp/.X11-unix:

$ ls -l /tmp/.X11-unix/X0 
srwxrwxrwx 1 root root 0 Dec 18 18:03 /tmp/.X11-unix/X0

Обратите внимание на s перед разрешениями, что означает, что это сокет. Если у вас запущено несколько X-серверов, то там будет более одного файла.

По крайней мере, с помощью man-страниц Linux, более подробную информацию о сокетах (в общем случае) можно найти в man 7 socket. Подробнее о Unix-доменных сокетах смотрите в man 7 unix. Обратите внимание, что эти страницы ориентированы на программистов.

11
27.01.2020, 19:38

Теги

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