Найти процесс с большинством TCP-сокетов?

Найти процесс с большинством TCP-сокетов?

Как найти процесс с наибольшим количеством TCP-сокетов, который в данный момент запущен с помощью bash?

Я хотел бы вывести только имя процесса

решение1

Если вас интересуют только сокеты TCP, то ответом будет lsof +c 0 -i tcp, в противном случае вам необходимо расширить параметры lsof, чтобы включить другие типы сокетов.

ps -ef | pgrep -lf `lsof +c 0 -i tcp | awk '{print $1}' | sort | uniq -c | sort -n | tail -1 | awk '{print $2}'` | cut -d' ' -f2 | uniq | sed -e 's/^.*\///'

Андрей

решение2

# ps -p $(netstat -tnp|awk '$6=="ESTABLISHED" {split($7,a,"/"); print a[1]}' | sort | uniq -c | sort -r | head -n 1 | awk '{print $2}') -o comm=
skype

Связанный контент