java 프로세스에서 주어진 프로세스 ID를 사용하여 java 프로세스에서 열어 본 포트를 찾을 수있는 방법이 있습니까? 플랫폼 독립적이어야하므로 java를 사용해야합니다.프로세스 ID, java를 사용하여 프로세스에서 사용중인 포트를 찾는 방법이 있습니까?
주어진 프로세스 ID : 해당 프로세스에서 사용중인 모든 포트/소켓 연결을 출력하십시오.
몇 가지 주어진 점 : 동일한 jvm에서 실행중인 프로세스. 해당 프로세스에서 사용하는 포트/소켓이 하나 뿐이며 에 Pid가 제공됩니다.
은 JPS를 시도 ps -au | grep pid | ...
덕분에 단지 그것을 시도했다. 내가 필요한 것에 아주 가깝다. 그러나 jps는 명시 적으로 설정된 매개 변수 만 표시합니다. 새 ServerSocket (0)을 사용하여 동적으로 열리는 포트가 있습니다. 생성 된 포트가 무엇인지 파악해야합니다. JPS는 거기에서 부족합니다. 도와 주셔서 감사합니다. – Devesh
도움이 되니 기쁩니다. 서버를 작성하셨습니까? 왜 포트 번호가 필요한가요? 그냥 궁금해서 – eon
예. 포트에서 시작하는 서버에 필요합니다. 빈 포트는 새로운 ServerSocket (0)을 사용하여 런타임에 발견되며 나중에 JMX 명령을 처리 (새로 고침, 종료 등) 할 수 있어야합니다. 실제 포트 번호가 필요한 곳입니다. 그 과정은 지금까지 알려져 있습니다. 프로세스 ID가 주어지면 포트 번호를 찾는 방법은 무엇입니까? – Devesh