Несмотря на то, что люди привыкли к netstat
таким операциям, приятно знать, что в Linux есть еще один замечательный (и действительно превосходный) сетевой инструмент - ss
. Например, чтобы узнать, какой процесс открыл порт 80, вы запускаете его так:
sudo ss -pt state listening 'sport = :80'
поэтому нет необходимости прокладывать трубы через внешние фильтры. Конечно, у него гораздо больше полезных ручек, так что ознакомьтесь с ним.
Для полноты и с недавнего времени я man fuser
также могу упомянуть:
sudo fuser 80/tcp
- это также избавляет вас от необходимости возиться с cut
/ grep
/ awk
... имейте в виду, что это обозначение является сокращенным, в случае двусмысленности, вы должны использовать одно из пространств имен, разрешенных с -n …
, какsudo fuser -n tcp 80
sudo lsof -n -sTCP:LISTEN -i:80
- указал @ wallenborn . Между тем -n
строго не требуется, настоятельно рекомендуется, так как в противном случае используется разрешение DNS, которое обычно сильно замедляет вывод.
ls -l /proc/PID/exe
будет делать. И ты имеешь в виду его текущую работу, реж…/cwd
.