AIX에서 포트에 바인드된 프로그램의 전체 경로를 어떻게 얻습니까?

AIX에서 포트에 바인드된 프로그램의 전체 경로를 어떻게 얻습니까?

netstat -tulpnwLinux에서는 다음 과 ps같이 사용할 수 있습니다 .

# netstat -tulpnw | grep :53
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      1482/named          
udp        0      0 127.0.0.1:53                0.0.0.0:*                               1482/named          

# ps aux | fgrep 1482
named     1482  0.0  1.0  93656 44900 ?        Ssl  Sep06   3:17 /usr/sbin/named -u named
root     20221  0.0  0.0   4144   552 pts/0    R+   21:09   0:00 fgrep --color=auto 1482
# 

kshAIX 6에서 사용할 때 포트에 바인드된 프로그램의 전체 경로를 어떻게 얻습니까?

답변1

~처럼IBM은 권장합니다: lsof -i -n포트 XY를 사용하고 찾으십시오. 에서 구문 분석 가능한 출력을 원하는 경우 lsof-F플래그를 사용하고 awk를 사용하여 출력을 구문 분석하세요.

당신은 얻을 수 있습니다AIX V5용 사전 컴파일된 바이너리. V6용으로 미리 컴파일된 바이너리가 있는지는 모르겠습니다. 그렇지 않다면 다운로드하세요.원천그리고 그것을 컴파일하십시오.

답변2

netstat와 함께 사용해 보세요 rmsock.

port=$1
addr=`netstat -Aan | grep $port | awk '{print $1}`
pid=`rmsock $addr tcpcb | awk '{print $9}'`
ps -ef | grep $pid

의 경우 netstat소켓 -A과 관련된 프로토콜 제어 블록의 주소를 표시하고, 이 -a옵션은 서버 프로세스의 상태를 포함하여 모든 소켓의 상태를 표시하며, 이 -n옵션은 구문 분석에 시간을 낭비하지 않도록 숫자 형식으로 출력을 제공합니다. 주소.

rmsock, 출력의 열 1에 지정된 주소를 사용 netstat하고 tcpcb데이터베이스를 사용하면 pid 및 이름을 포함하여 소켓을 보유하는 프로세스에 대한 정보가 반환됩니다.

ps -ef | grep $pid그런 다음 를 사용하여 프로세스 정보를 얻을 수 있습니다 .

너는 볼 수있어이 기사이에 대한 자세한 내용을 보려면 IBM Systems Magazine을 방문하세요.

답변3

응용 프로그램이 잠긴 포트를 찾는 가장 빠른 방법 중 하나는 다음을 사용하는 것입니다.라소프또는lsof64:

lsof64 -nP | grep $PortNumber

또는

lsof -nP | grep $PortNumber

위의 내용은 주어진 포트 번호를 잠금/사용하는 프로세스 ID를 반환합니다. 일단 가지고 있으면 아래를 실행하여 실행 중인 응용 프로그램/프로세스를 찾으십시오.

proctree $pid

답변4

netstat -ape | grep $PortNumber

관련 정보