V systému Linux musíte být root nebo vlastník procesu, abyste získali požadované informace. Jako takové pro procesy běžící jako jiný uživatel přidejte před sudo je většina toho, co potřebujete. Kromě toho na moderních systémech Linux ss je nástroj, který se k tomu používá:
$ sudo ss -lptn 'sport = :80'
State Local Address:Port Peer Address:Port
LISTEN 127.0.0.1:80 *:* users:(("nginx",pid=125004,fd=12))
LISTEN ::1:80 :::* users:(("nginx",pid=125004,fd=11))
Můžete také použít stejné vyvolání, jaké právě používáte, ale nezapomeňte na sudo :
$ sudo netstat -nlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 125004/nginx
Můžete také použít lsof:
$ sudo lsof -n -i :80 | grep LISTEN
nginx 125004 nginx 3u IPv4 6645 0t0 TCP 0.0.0.0:80 (LISTEN)
Můžete také použít lsof utility. Musíte být root.
# lsof -i :25
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
exim4 2799 Debian-exim 3u IPv4 6645 0t0 TCP localhost:smtp (LISTEN)
exim4 2799 Debian-exim 4u IPv6 6646 0t0 TCP localhost:smtp (LISTEN)
Používám "CentOS 7 minimal", který nemá ani netstat ani lsof . Ale mnoho linuxových distribucí má příkaz socket statistics (tj. ss ).
Zde je příklad provedení:
# ss -tanp | grep 6379
LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=2531,fd=4))