/ / Použitie BASH Ako môžem zabiť TCP port 16969? - linux, bash, ubuntu, tcp

Pomocou BASH, ako môžem zabiť TCP port 16969? linux, bash, ubuntu, tcp

Mám jednu aplikáciu, ktorá používa port TCP 16969. Vyžaduje si niekedy rýchle reštartovanie softvérového jadra za chodu. Ale ak to spustím príliš rýchlo, potom som uzamknutý Exception in thread "main" java.net.BindException: Address already in use.

Takže bez akýchkoľvek výhovoriek chcem spustiť môj BASH skript, ktorý môže zabiť akýkoľvek bežiaci alebo počúvajúci port s 16969. Ale ako to môžem urobiť?

$ lsof -w -n -i tcp:16969 # this gives me a list of 50 lines but how can i tell apply kill to all on this port?

odpovede:

14 pre odpoveď č. 1

Myslím si, že:

lsof -i tcp:22 | grep LISTEN | awk "{print $2}" | xargs kill

Mal by sa trik.

Ak chcete skontrolovať, aké príkazy chce spustiť, pred uvoľnením pridajte znak echo pred kill ako toto:

lsof -i tcp:22 | grep LISTEN | awk "{print $2}" | xargs echo kill

Potom uvedie zoznam PID, ktoré by bežne zabíjal


16 pre odpoveď č. 2

Skúsili ste použiť tcpkill?

príklad:

tcpkill -i eth0 port 21

12 pre odpoveď č. 3

fixačná jednotka -k 16969 / tcp

môže tento port uvoľniť. Toto je užitočný príkaz, ktorý sa dá použiť na zatvorenie portov. čokoľvek to je. S pozdravom


4 pre odpoveď č. 4

Tento problém často dostávam pomocou JBoss v Netbeans ...

Moje riešenie:

V type terminálu:

 sudo netstat -lnp | grep 8080

Potom sa zobrazí niečo ako:

 tcp6       0      0 :::8080       :::*        LISTEN      1722/java

Potom použite:

 kill 1722  //replace 1722 by the PID you found.

Dúfam, že to pomôže!