Qual processo está usando uma determinada porta
Publicado em 28/12/2010 | Autor Márcio
Aqui vão alguns.
No linux
É fácil, o comando fuser retorna o pid do processo
Sintaxe:
fuser <porta>/<protocolo>
Exemplo:
fuser 21/tcp
No solaris
É o mais complicado, o comando pfiles retorna as portas usadas por um processo, então é necessário criar um script para pesquisar em todos os processos
Sintaxe:
pfiles <pid>
Script:
#!/bin/bash
# find from a port the pid that started the port
line=’————————————————————————-’
pids=`/usr/bin/ps -ef | sed 1d | awk ‘{print $2}’`
# Prompt users or use 1st cmdline argument
if [ $# -eq 0 ]; then
echo “Enter port you like to know pid for: ”
read ans
else
ans=$1
fi
# Check all pids for this port, then list that process
for f in $pids
do
/usr/proc/bin/pfiles $f 2>/dev/null | /usr/xpg4/bin/grep -q “port: $ans”
if [ $? -eq 0 ] ; then
echo “$line
echo Port: $ans is being used by PID: \c”
/usr/bin/ps -o pid -o args -p $f | sed 1d
fi
done
(Script retirado de: http://sysunconfig.net/unixtips/port2pid)
No AIX
Use o comando lsof acompanhado de um grep para filtrar a porta desejada.
Sintaxe:
lsof -P | grep “:<porta> ”
Exemplo:
lsof -P|grep “:21 ”
No WINDOWS
Menti, tem um sistema operacional que o netstat mostra o nome do processo que está usando uma porta. Só tem que colocar os parâmetros corretos.
Exemplo:
netstat -abn
Comente!
Categoria: dicas, Linux, Sistema Operacional, Todos, WindowsTags: fuser, lsof, netstat, pfiles, porcessos, portas
Comments
Deixe um comentário!

