На моем устройстве Android есть файл с именем /proc/net/unix
who, содержимое которого не соответствует содержимому любого стандартного дистрибутива linux (в котором показаны доменные сокеты unix). Первые несколько строк:
Num RefCount Protocol Flags Type St Inode Path
00000000: 00000002 00000000 00000000 0002 01 5287581 /data/misc/wifi/sockets/wpa_ctrl_789-3189
00000000: 00000003 00000000 00000000 0001 03 6402 /dev/socket/qmux_radio/qmux_client_socket 297
00000000: 00000002 00000000 00010000 0001 01 7180 /dev/.secure_storage/ssd_socket
00000000: 00000002 00000000 00010000 0001 01 6424 /dev/socket/cnd
00000000: 00000002 00000000 00010000 0001 01 6400 @QMulticlient
...
(1) Что означают эти разные столбцы?
РЕДАКТИРОВАТЬ : Хорошо, я нашел это :
Здесь «Num» - номер слота таблицы ядра, «RefCount» - количество пользователей сокета, «Protocol» в настоящее время всегда равно 0, «Flags» представляют внутренние флаги ядра, содержащие состояние сокета. В настоящее время тип всегда равен 1 (сокеты грамматик данных домена Unix еще не поддерживаются в ядре). St - это внутреннее состояние сокета, а Path - это связанный путь (если есть) сокета.
Однако это не актуально, поскольку у нас есть type
и не уточняется, что означает «внутреннее состояние».
(2) Также в конце пути иногда есть дополнительный номер без собственного имени столбца. Что это такое?
Кроме того, где в исходном коде ядра можно ожидать, где это будет создано?
РЕДАКТИРОВАТЬ: 2016-04-27 (Решено)
Благодаря приведенному ниже ответу я подтвердил lsof |grep qmux
, что число в последнем столбце для qmux_client_sockets
элементов - это PID процесса, который его использует.
/dev/socket/qmux_radio/
только под именем виртуального сокетаqmux_client_socket
. Но твоя помощь заставила меня проверить,ps
какие же.