Często robię np
sudo netstat -lpn |grep :8088
wyświetl wynik
tcp6 0 0 :::8088 :::* LISTEN 11189/java
i wtedy
sudo kill -kill 11189
Chciałbym mieć wygodniejszą komendę dokładnie taką, killatport 8088
która używa numeru portu TCP jako zmiennej i którą mogę utworzyć jako alias dla potoku, który robi to, co chcę, ale jak uzyskać PID z wyjścia i potoku to do polecenia zabicia? Przypuszczam, że mógłbym użyć awk, aby uzyskać PID z wyjścia z netstat, ale jak mogę zabezpieczyć i dopasować dokładny port, aby wejście 80 nie pasowało do 8080 i podobnie? Czy powinienem zamiast tego zrobić program w języku C? A może istnieje już takie małe narzędzie?
mvn jetty:stop
może to zakończyć się niepowodzeniem, jeśli instancja ma OutOfMemoryError
. Kiedy ponownie uruchamiam serwlety Java, zdarza się, że port jest niedostępny, nawet przy regularnym zatrzymaniu, takim jak mvn jetty:stop
. Czasami proces może uzyskać OutOfMemoryError
i nie zwolnić portu TCP przy regularnym wyłączaniu, takim jak mvn jetty:stop
.
mvn jetty:stop
nie jest tym samym, co wysyłanie SIGTERM, a jvm nadal powinien móc przetwarzać SIGTERM, nawet jeśli w jego aplikacjach brakuje pamięci.