Saya tahu bahwa menggunakan perintah:
lsof -i TCP
(atau beberapa varian parameter dengan lsof) Saya dapat menentukan proses mana yang terikat pada port tertentu. Ini berguna katakan jika saya mencoba memulai sesuatu yang ingin mengikat ke 8080 dan ada yang sudah menggunakan port itu, tapi saya tidak tahu apa.
Apakah ada cara mudah untuk melakukan ini tanpa menggunakan lsof? Saya menghabiskan waktu bekerja di banyak sistem dan sering tidak diinstal.
networking
process
tcp
lsof
Gilles
sumber
sumber
netstat -p
di atas adalah suara saya. lihat jugalsof
.Pada AIX, netstat & rmsock dapat digunakan untuk menentukan proses pengikatan:
sumber
Alat lain yang tersedia di Linux adalah ss . Dari halaman manual ss di Fedora:
Contoh output di bawah ini - kolom terakhir menunjukkan proses yang mengikat:
sumber
Untuk Solaris Anda dapat menggunakan pfiles dan kemudian grep oleh
sockname:
atauport:
.Sampel (dari sini ):
sumber
Saya pernah dihadapkan pada upaya untuk menentukan proses apa yang ada di balik port tertentu (kali ini 8000). Saya mencoba berbagai lsof dan netstat, tetapi kemudian mengambil kesempatan dan mencoba memukul port melalui browser (yaitu http: // hostname: 8000 / ). Lihatlah, layar splash menyambut saya, dan menjadi jelas apa prosesnya (sebagai catatan, itu Splunk ).
Satu lagi pemikiran: "ps -e -o pid, args" (YMMV) kadang-kadang dapat menampilkan nomor port dalam daftar argumen. Grep adalah temanmu!
sumber
telnet hostname 8000
dan melihat apakah server mencetak spanduk. Namun, itu sebagian besar berguna ketika server berjalan pada mesin di mana Anda tidak memiliki akses shell, dan kemudian menemukan ID proses tidak relevan.