
나는 명령줄을 통해 지정된 프로그램 이름에서 사용되는 포트의 포트 상태를 찾기 위해 Linux에서 가장 깨끗한 방법을 찾고 있습니다. 나는 netstat -p가 모든 pid를 나열하지만 특정 프로세스 이름에 해당하는 것을 보지 못했다는 것을 보았습니다. 어떤 도움이라도 주시면 감사하겠습니다.
답변1
이론적으로는 -p 매개변수와 PID가 포함된 프로그램 이름이 표시되어야 합니다. 사용자로 실행되고 있지 않은 프로세스의 프로그램 이름을 표시하려면 루트 권한이 필요합니다.
-p 루트 권한이 없는 경우:
$ netstat -lnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN -
...
...
-p 루트 권한이 있음
$ sudo netstat -lnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1553/apache2
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1392/vsftpd
...
...