나는 종종 예를 들어
sudo netstat -lpn |grep :8088
출력을 본다
tcp6 0 0 :::8088 :::* LISTEN 11189/java
그리고
sudo kill -kill 11189
killatport 8088
tcp 포트 번호를 변수로 사용하고 원하는 것을 수행하는 파이프 라인의 별칭으로 만들 수있는 것과 같은보다 편리한 명령을 원합니다. 그러나 출력 및 파이프에서 PID를 얻는 방법 kill 명령으로? netstat의 출력에서 PID를 가져 오기 위해 awk를 사용할 수 있다고 가정하지만 입력 80이 8080과 일치하지 않도록 정확히 포트를 보호하고 정확하게 일치시키는 방법은 무엇입니까? 대신 C 프로그램으로 만들어야합니까? 아니면 이미 이와 같은 작은 유틸리티가 있습니까?
1
SIGKILL을 사용하는 것은 일반적으로 나쁜 생각 입니다. 프로세스 자체를 정리하지 않으려는 이유가 있습니까?
—
geirha
로 서버를 중지
—
Niklas
mvn jetty:stop
인스턴스가있는 경우 실패 할 수 있습니다 OutOfMemoryError
. Java 서블릿을 다시 시작하면와 같은 정기적으로 중지하더라도 포트를 사용할 수 없습니다 mvn jetty:stop
. 때때로 프로세스는 OutOfMemoryError
과 같은 정기적 종료에서 TCP 포트를 가져 오고 해제하지 않을 수 mvn jetty:stop
있습니다.
여전히,
—
geirha
mvn jetty:stop
SIGTERM 전송과 동일하지 않으며, jvm은 응용 프로그램이 mem을 벗어난 경우에도 SIGTERM을 처리 할 수 있어야합니다.