指定したポートを使用しているプロセスを探す
いつも、ちまちまとコマンドを打っていたけど、さすがに面倒くさくなったので、普段使っている「現在使用されているポート一覧」を表示する自作コマンドに、パラメータでポート番号を与えるとそのポートを使用しているプロセスを表示するようにアップデート。
うん、かなり楽になった。
#!/usr/bin/env bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
OPT=$1
NETSTAT=`which netstat`
if [ -z ${NETSTAT} ]; then
echo "Can't execute netstat command."
exit 1
fi
if [ "$OPT" = "" ]; then
case "${OSTYPE}" in
darwin*)
PORTLIST=(`netstat -an | grep 'LISTEN ' | awk 'match($4, /[\:\.][0-9]*$/) {print substr($4, RSTART+1, RLENGTH)}' | sort -nu`)
;;
linux*)
PORTLIST=(`netstat -an | grep 'LISTEN ' | awk '{print $4}' | grep '^[0-9:]' | sed -e 's/.*://' | sort -n | uniq`)
;;
esac
for p in ${PORTLIST[@]}; do
echo $p
done
else
ps ax | grep `lsof -ni :$OPT | grep LISTEN | awk '{print $2}'`
fi