Я часто делаю например
sudo netstat -lpn |grep :8088
просмотреть вывод
tcp6 0 0 :::8088 :::* LISTEN 11189/java
а потом
sudo kill -kill 11189
Я хотел бы иметь более удобную команду, точно такую же, killatport 8088
которая использует номер порта tcp в качестве переменной и которую я могу сделать в качестве псевдонима для конвейера, который делает то, что я хочу, но как мне получить PID из выходных данных и канала это к команде kill? Я полагаю, что я мог бы использовать awk для получения PID из вывода netstat, но как мне защитить и установить точное совпадение портов, чтобы вход 80 не совпадал с 8080 и аналогичным образом? Должен ли я сделать это программой на С вместо? Или уже есть такая маленькая утилита?
mvn jetty:stop
может произойти сбой, если экземпляр имеет OutOfMemoryError
. Когда я перезапускаю сервлеты Java, случается, что порт недоступен даже при обычной остановке, такой как mvn jetty:stop
. Иногда процесс может получить OutOfMemoryError
и не освободить порт TCP при обычном завершении работы, например mvn jetty:stop
.
mvn jetty:stop
не менее, это не то же самое, что отправка SIGTERM, и jvm должен по-прежнему иметь возможность обрабатывать SIGTERM, даже если его приложение (я) находится вне памяти.