Saya memiliki PID proses tertentu mendengarkan beberapa port pada OS X saya dan saya perlu tahu port mana yang didengarkan oleh proses ini. Bagaimana saya bisa melakukannya?
Saya tahu saya dapat menggunakan lsof
untuk mengetahui proses mana yang mendengarkan beberapa port, tetapi saya perlu melakukan operasi terbalik.
Terima kasih.
UPD
OS X menggunakan utils BSD, jadi saya punya BSD netstat
bukan Linux netstat
. Linux netstat
memiliki -p
opsi untuk menampilkan PID, BSD netstat
menggunakan -p
untuk menentukan port dan tidak memiliki opsi untuk menampilkan PID.
lsof
penggunaannya tidak hanya satu arah. Anda dapat melakukan sesuatu seperti lsof|grep ${PID}
. yang akan membuang semuanya dengan kasar dan grep
akan memilih garis dengan PID di dalamnya. Dalam kesempatan off, mungkin daftar garis yang tidak relevan, karena nomor PID keliru mencocokkan beberapa nilai lain tetapi kemungkinannya tipis untuk tidak ada
netstat
tidak dapat menampilkan PID.
netstat
dapat melakukan ini untuk Anda. Anda dapatgrep
menggunakan PID jika Anda ingin memfilter output darinetstat