bash で現在実行されているプロセスのうち、最も多くの TCP ソケットを持つプロセスを見つけるにはどうすればよいでしょうか?
プロセス名のみを出力したい
答え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