Убейте любую службу, запущенную на определенном порту

Я пытаюсь написать сценарий, который убивает службу, запущенную на определенном порту. Это мой сценарий:

a=$(ps ax | grep 4990 | grep java | awk '{print $1}') kill -9 $a 

Это Java-программа. Этот скрипт работает иногда, но таинственно терпит неудачу большую часть времени.

Есть ли другой способ убить службу, запущенную на порту? Мой порт 4990 .

One Solution collect form web for “Убейте любую службу, запущенную на определенном порту”

Вы можете попробовать fuser :

 fuser -k 4990/tcp 

Или, используя lsof чтобы получить идентификатор процесса, затем подайте на kill :

 kill $(sudo lsof -t -i:4990) 
  • Почему у меня установлены TCP-соединения без PID владельца?
  • Как отправить электронное письмо самому себе на том же локальном компьютере (порт tcp 25)
  • Неверная сборка пакетов для правила dnat с использованием iptables
  • Как настроить SVN / SSH с SSH на нестандартном порту?
  • Изменение значения TCP RTO в Linux
  • netstat показать номер порта вместо имени процесса
  • Неожиданный вывод нетстата в условиях DNAT
  • Почему TCP-соединения IPv4 отображаются как tcp6?
  • Выход netstat - «ESTABLISHED -» (имя программы не указано). В чем проблема?
  • TCP *: hbci (LISTEN) - Что означает hbci?
  • Sshd_config TPCKeepAlive по-прежнему использует незашифрованный канал и, следовательно, уязвим
  • Linux и Unix - лучшая ОС в мире.