Идентификатор процесса для идентификатора сеанса loginctl

В наблюдении 1 вы запускаете оболочку, выполняющую logic.sh каждые 60 секунд в фоновом режиме (&). Используемая команда netcat должна отправить данные на ip/порт, но если на удаленном конце никто не слушает (по умолчанию tcp), она завершится с ошибкой.

1
18.09.2018, 12:57
1 ответ

Когда вы запустили lsof, вы не включили флаг -P, поэтому он попытался найти каждый из номеров портов, чтобы преобразовать их в имена. Это делается с помощью вызова функции(getservbyport)через службу имен, настроенную в Linux через /etc/nsswitch.conf. Обычная конфигурация состоит в том, чтобы указать поиск servicesна file, что означает записи в /etc/services.

Весьма вероятно, что в вашем файле /etc/services есть эта запись:

tram            4567/tcp                # TRAM

... что вы можете подтвердить разными способами, один из которых:grep ^tram /etc/services

Использование lsof -P...может показаться менее запутанным, поскольку в этом случае номера портов будут сохранены как числа. Соответствующий флаг для имен хостов (здесь, у вас простоlocalhost)— это -n.

Номера портов имеют центральный реестр, Internet Assigned Numbers Authority , а именно Реестр номеров портов и имен служб и транспортных протоколов , где вы можете искать 4567 .

2
27.01.2020, 23:31

Теги

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