Menemukan proses yang menggunakan port tertentu di Linux

139

Saya ingin mengetahui proses mana yang saat ini menggunakan port tertentu di Linux. Apakah ada cara untuk melakukan ini?

Evan Fosmark
sumber
3
Pada Windows, perintahnya adalah: netstat -anb
djangofan

Jawaban:

144

Anda memiliki dua pilihan:

lsof -i tcp:80

akan memberi Anda daftar proses menggunakan tcp port 80.

Kalau tidak,

sudo netstat -nlp

akan memberi Anda semua koneksi jaringan terbuka.

Nagul
sumber
2
lsof -i | grep {username}juga sangat berguna, yaitulsof -i | grep apache
LawrenceC
1
Untuk siapa pun yang bertanya-tanya,: -njangan atasi nama,: -ltampilkan soket server mendengarkan,: -ptampilkan PID / Nama program untuk soket.
yellavon
Saya biasanya menambahkan -Pke lsof -i tcp:$PORTNUMBERsehingga pelabuhan akan dicetak kembali ke saya sebagai angka.
js.
9
netstat -lp
Nick
sumber
4
pada mac Anda harus menambahkan opsi protokol ke -p. jadi sesuatu seperti: netstat -lp tcp.
vrish88
8

Saya menggunakan "CentOS 7 minimal" yang tidak memiliki netstatkeduanya lsof. Tetapi banyak distribusi linux memiliki perintah statistik socket (yaitu ss).

Berikut ini contoh eksekusi:

# ss -tanp | grep 6379
LISTEN   0    128  127.0.0.1:6379   *:*   users:(("redis-server",pid=2531,fd=4))
Alexandr
sumber
2

Di Linux, Untuk menemukan proses yang berjalan di port, lakukan di bawah ini:

lsof -i :<port_number>

contoh:

lsof -i :8080
Anamika
sumber
Terima kasih telah mencoba membantu. Perintah ini disebutkan dalam jawaban yang diterima. Jika Anda memiliki sesuatu yang baru, silakan edit posting Anda.
Ben N