netstat으로 현재 실행 중인 프로그램 확인


netstat 을 사용하면 현재 열려있는 포트와 PID, 프로그램 이름을 확인할 수 있습니다.

# netstat -tulpn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      707/vsftpd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1016/sshd
tcp        0      0 0.0.0.0:3001            0.0.0.0:*               LISTEN      17185/index.js
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1269/master
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      4741/nginx.conf
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      1289/redis-server *
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4741/nginx.conf
tcp6       0      0 :::22                   :::*                    LISTEN      1016/sshd
tcp6       0      0 :::3000                 :::*                    LISTEN      17185/index.js
tcp6       0      0 :::25                   :::*                    LISTEN      1269/master
tcp6       0      0 :::6379                 :::*                    LISTEN      1289/redis-server *


특정 포트나 특정 PID를 확인하고 싶다면

netstat -tulpn | grep 숫자


포트로 찾기
# netstat -tulpn | grep 3001

tcp        0      0 0.0.0.0:3001            0.0.0.0:*               LISTEN      17185/index.js

PID로 찾기
# netstat -tulpn | grep 17185

tcp        0      0 0.0.0.0:3001            0.0.0.0:*               LISTEN      17185/index.js
tcp6       0      0 :::3000                 :::*                    LISTEN      17185/index.js


netstat 옵션중 예제에서 쓰인 -tulpn 의 설명

-t, –tcp : listening 중인 TCP 소켓만 표시합니다

-u, –udp : listening 중인 UDP 소켓만 표시합니다

-l, –listening : 연결 대기 상태인 소켓만 표시

-p, –programs : 소켓을 사용하고 있는 프로세스의 ID 표시

-n, –numeric : 호스트, 포트 번호 등의 이름 확인을 하지 않고 숫자로 표시


더 자세한 옵션을 알고 싶으시다면 netstat –help 로 알아보시거나 아래의 사이트에서 자세하게 번역되어있으니 참고 하시면 좋겠네요😀

https://www.lesstif.com/lpt/linux-netstat-93127510.html


PID로 실행 중인 파일의 위치(path) 찾기


ll /proc/<PID>/exe
ll /proc/17185/exe

lrwxrwxrwx 1 root root 0 Sep 24 11:38 /proc/17185/exe -> /usr/local/bin/node*


파일 이름으로 파일의 위치(path) 찾기


ps -ef | grep 이름

또는

find / -name 이름
tomcat의 위치 찾기

ps -ef | grep tomcat

find / -name tomcat

감사합니다😍