GNU/Linux >> Belajar Linux >  >> Linux

Linux – Menemukan Pid Proses Menggunakan Port Tertentu?

Saya menginstal hadoop di sistem Ubuntu saya. Ketika saya memulainya, ia melaporkan bahwa port 9000 sedang sibuk.

Saya menggunakan:

netstat -nlp|grep 9000

untuk melihat apakah port seperti itu ada dan saya mendapatkan ini:

   tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN

Tapi bagaimana saya bisa mendapatkan PID dari proses yang menahannya?

Jawaban yang Diterima:

Perintah Anda yang ada tidak berfungsi karena Linux mengharuskan Anda menjadi root atau pemilik proses untuk mendapatkan informasi yang Anda inginkan.

Pada sistem modern, ss adalah alat yang tepat untuk digunakan untuk mendapatkan informasi ini:

$ 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))

Anda juga dapat menggunakan doa yang sama yang sedang Anda gunakan, tetapi Anda harus terlebih dahulu meningkatkan dengan sudo :

$ sudo netstat -nlp | grep :80
tcp  0  0  0.0.0.0:80  0.0.0.0:*  LISTEN  125004/nginx

Anda juga dapat menggunakan lsof:

$ sudo lsof -n -i :80 | grep LISTEN
nginx   125004 nginx    3u  IPv4   6645      0t0  TCP 0.0.0.0:80 (LISTEN)

Linux
  1. Bagaimana Cara Membunuh Proses yang Berjalan pada Port Tertentu di Linux?

  2. Bagaimana cara mematikan proses di Linux menggunakan perintah?

  3. Bagaimana cara mendapatkan jalur proses di Unix / Linux

  1. Bagaimana cara menghitung penggunaan CPU dari suatu proses oleh PID di Linux dari C?

  2. Periksa batas FD terbuka untuk proses tertentu di Linux

  3. Tambahkan beberapa waktu tertentu saat menggunakan tanggal perintah linux

  1. Cara mengatur ID proses di Linux untuk program tertentu

  2. Menemukan proses yang menggunakan port tertentu di Linux

  3. cara menggunakan netstat pada port tertentu di Linux