Ho provato a chiudere il tomcat usando ./shutdown.sh
dalla ./shutdown.sh
tomcat /bin
. Ma ho scoperto che il server non è stato chiuso correttamente. E così non sono stato in grado di riavviare
Il mio tomcat è in esecuzione sulla porta 8080
.
Voglio uccidere il processo di tomcat in esecuzione su 8080
. Prima desidero avere l’elenco dei processi in esecuzione su una porta specifica (8080) per selezionare quale processo uccidere.
Questo fuser 8080/tcp
stamperà il PID del processo associato su quella porta.
E questo fuser -k 8080/tcp
ucciderà quel processo.
Funziona solo su Linux. Più universale è l’uso di lsof -i4
(o 6 per IPv6).
Per elencare qualsiasi processo che ascolta la porta 8080:
lsof -i:8080
Per terminare qualsiasi processo ascoltando la porta 8080:
kill $(lsof -t -i:8080)
o più violentemente:
kill -9 $(lsof -t -i:8080)
Usa il comando
sudo netstat -plten |grep java
usato grep java
come tomcat
usa java
come loro processi.
Mostrerà l’elenco dei processi con numero di porta e id di processo
tcp6 0 0 :::8080 :::* LISTEN 1000 30070621 16085/java
il numero precedente /java
è un ID di processo. Ora usa il comando kill per uccidere il processo
kill -9 16085
-9
implica che il processo verrà ucciso con forza.
È ansible utilizzare il comando lsof. Lascia che il numero di porta come qui sia 8090
lsof -i:8090
Questo comando restituisce un elenco di processi aperti su questa porta.
Qualcosa di simile a…
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ssh 75782 eoin 5u IPv6 0x01c1c234 0t0 TCP localhost:8090 (LISTEN)
Per liberare la porta, uccidere il processo che lo utilizza (l’ID processo è 75782) …
kill -9 75782
Questo ha funzionato per me. ecco il link dal post originale: link
Vorrei aggiungere questo one-liner solo per LISTEN su una porta specifica:
kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)
Se si desidera terminare un processo in esecuzione sul numero di porta 8080, è necessario prima trovare il numero di identificazione del processo 8080 (PID) e quindi eliminarlo. Eseguire il seguente comando per trovare il numero di porta 8080 PID:
sudo lsof -t -i:8080
Qui,
Ora puoi facilmente uccidere il tuo PID usando il seguente comando:
sudo kill -9
Qui,
Puoi usare un comando per uccidere un processo su una porta specifica usando il seguente comando:
sudo kill -9 $(sudo lsof -t -i:8080)
Per ulteriori è ansible vedere il seguente link Come uccidere un processo su una porta specifica su Linux
Questo stampa per lo stdout degli ID di processo di tutto ciò che è in esecuzione su
:
fuser -n tcp
Inoltre stampa alcune cose su stderr, quindi:
fuser -n tcp 2> /dev/null
Possiamo quindi fornire questi ID di processo al comando kill
:
sudo kill $(fuser -n tcp 2> /dev/null)
Puoi anche metterlo in una funzione se lo fai molto:
function killport() { sudo kill $(fuser -n tcp $1 2> /dev/null) }
Per conoscere il pid di servizio in esecuzione su una particolare porta:
netstat -tulnap | grep :*port_num*
otterrai la descrizione di quel processo. Ora usa kill o kill -9 pid. Facilmente ucciso
per esempio
netstat -ap | grep :8080
tcp6 0 0 :::8080 :::* LISTEN 1880/java
Adesso:
kill -9 1880
Ricorda di eseguire tutti i comandi come root
prova così,
sudo fuser -n tcp -k 8080
lsof -i tcp:8000
Questo comando elenca le informazioni sul processo in esecuzione nella porta 8000
kill -9 [PID]
Questo comando uccide il processo
Linux : puoi usare questo comando se conosci la porta:
netstat -plten | grep LISTEN | grep 8080
AIX :
netstat -Aan | grep LISTEN | grep 8080
Quindi prendi la prima colonna (esempio: f100050000b05bb8) ed esegui il seguente comando:
rmsock f100050000b05bb8 tcpcb
termina il processo.
Linux : per prima cosa puoi trovare PID di questo comando se conosci la porta:
netstat -tulpn
esempio:-
Local Address Foreign Address State PID/Program name :::3000 :::* LISTEN 15986/node
Quindi fai il processo di uccisione. eseguire il seguente comando:
kill -9 PID
Esempio: –
kill -9 15986
kill -9 `fuser 8080/tcp|xargs -n 1`
, questo comando uccide anche il processo che ascolta sulla porta 8080 con connessione TCP
build su ciò che @ veer7 ha detto:
se vuoi sapere cosa c’era sul porto, fallo prima di ucciderlo.
$ sudo netstat -plten |grep java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1000 906726 25296/java tcp6 0 0 :::8009 :::* LISTEN 1000 907503 25296/java tcp6 0 0 :::8080 :::* LISTEN 1000 907499 25296/java $ ps 25296 PID TTY STAT TIME COMMAND 25296 ? Sl 0:16 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Dcatalina.base=/hom
Usa ‘ps’ e il numero del processo che netstat ha riportato
sudo apt-get install psmisc (or sudo yum install psmisc) sudo fuser 80/tcp
Risultato: 80 / tcp: 1858 1867 1868 1869 1871
Uccidi il processo uno per uno
uccidi -9 1858
In Windows, sarà netstat -ano | grep "8080"
netstat -ano | grep "8080"
e otteniamo il seguente messaggio TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10076
NOI possiamo uccidere il PID usando taskkill /F /PID 10076