Определение идентификатора процесса по номеру порта

$@ - это специальная переменная, которая хранит все аргументы (позиционные параметры), переданные скрипту, в массивоподобной структуре.

$1, $2, $3, ... are the positional parameters.
"$@" is an array-like construct of all positional parameters, {$1, $2, $3 ...}.

Подробнее об этом в справочном руководстве по bash

5
16.08.2016, 21:14
2 ответа

netstat - ваш друг, когда вы пытаетесь устранить множество сетевых проблем. Чтобы найти порт для прослушивания, я бы использовал netstat -tulpn | grep: <номер порта>

Например, чтобы узнать, какие pid-пакеты прослушивают порт 22, я бы запустил:

netstat -tulpn | grep :22
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN      3062/sshd

Это говорит мне, что sshd с pid 3062 прослушивает порт 22.

{{1} }
6
27.01.2020, 20:36

Вам также может понравиться решение с использованием ss, которое является более систематическим и более точным, чем перебор номеров портов.

# ss -t -l 'sport = 22'
State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port
LISTEN     0      128        *:ssh                      *:*
LISTEN     0      128       :::ssh                     :::*
3
27.01.2020, 20:36

Теги

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