Linux
fuserコマンドとpsコマンドを組み合わせてポート指定でプロセスを特定できます。
$ ps -p `sudo fuser -n tcp 80` 80/tcp: PID TTY STAT TIME COMMAND 12254 ? Ss 0:00 /usr/sbin/apache2 -k start 12258 ? S 0:00 /usr/sbin/apache2 -k start 12259 ? S 0:00 /usr/sbin/apache2 -k start 12260 ? S 0:00 /usr/sbin/apache2 -k start 12261 ? S 0:00 /usr/sbin/apache2 -k start $
Solaris
pfilesコマンドを組み合わせてListeneされている全ポートのプロセスを一覧します。
# for pid in `ps -aeo pid | grep -v PID` > do > pfiles ${pid} | egrep "^${pid}:|sockname:" > done