Apesar de as pessoas se acostumarem a netstat
esse tipo de operação, é bom saber que o Linux tem outra ótima (e, na verdade superior) ferramenta de rede - ss
. Por exemplo, para descobrir qual processo abriu a porta 80, você a executa:
sudo ss -pt state listening 'sport = :80'
portanto, não há necessidade de passar por filtros externos. Certamente ele tem muito mais botões úteis, então familiarize-se com ele.
Por uma questão de completude, e desde que me deparei recentemente man fuser
, também posso mencionar:
sudo fuser 80/tcp
- este também evita que você mexa em cut
/ grep
/ awk
… lembre-se de que essa notação é um atalho, caso exista uma ambiguidade, você deve usar um dos espaços para nome permitidos -n …
, comosudo fuser -n tcp 80
sudo lsof -n -sTCP:LISTEN -i:80
- foi apontado por @ wallenborn . Enquanto isso -n
não é estritamente necessário, é altamente recomendável, pois caso contrário, ele usa a resolução de DNS, o que geralmente diminui enormemente a produção.
ls -l /proc/PID/exe
faria. E você quer dizer o diretório de trabalho atual, veja…/cwd
.