Tôi có một PID của quá trình nhất định lắng nghe một số cổng trên OS X của tôi và tôi cần biết (các) cổng nào được nghe theo quy trình này. Tôi làm nó như thế nào?
Tôi biết tôi có thể sử dụng lsof
để biết quá trình nào đang lắng nghe một số cổng, nhưng tôi cần thực hiện một thao tác nghịch đảo.
Cảm ơn bạn.
CẬP NHẬT
OS X sử dụng các tiện ích BSD, vì vậy tôi có BSD netstat
chứ không phải Linux netstat
. Linux netstat
có -p
tùy chọn hiển thị PID, BSD netstat
sử dụng -p
để chỉ định cổng và không có tùy chọn để hiển thị PID.
lsof
sử dụng không phải là chỉ có một cách. bạn có thể làm một cái gì đó như lsof|grep ${PID}
. cái này sẽ làm đổ tất cả mọi thứ và grep
sẽ chọn các dòng có PID trong đó. Trong một trường hợp ngẫu nhiên, nó có thể liệt kê một dòng không liên quan, do số PID
netstat
không thể hiển thị các PID.
netstat
có thể làm điều này cho bạn. Bạn có thểgrep
trên PID nếu bạn muốn lọc đầu ra củanetstat