netstat -tulnap
mi mostra quali porte sono in uso. Come liberare una porta in Linux?
netstat -tulnap
mi mostra quali porte sono in uso. Come liberare una porta in Linux?
Risposte:
Come hanno detto gli altri, dovrai uccidere tutti i processi che stanno ascoltando su quella porta. Il modo più semplice per farlo sarebbe usare il comando fuser (1). Ad esempio, per vedere tutti i processi in ascolto di richieste http sulla porta 80 (esegui come root o usa sudo):
# fuser 80/tcp
Se vuoi ucciderli, aggiungi semplicemente l'opzione -k.
sudo yum install psmisc
)
kill -9 $(fuser 80/tcp 2>/dev/null)
Per uccidere una porta specifica in Linux usa il comando seguente
sudo fuser -k Port_Number/tcp
sostituire Port_Number con la porta occupata.
Puoi usare tcpkill
(parte del dsniff
pacchetto) per terminare la connessione sulla porta di cui hai bisogno:
sudo tcpkill -9 port PORT_NUMBER
$ sudo tcpkill -9 port 5432 tcpkill: listening on lxcbr0 [port 5432]
Nel tipo di terminale:
netstat -anp|grep "port_number"
Mostrerà i dettagli della porta. Vai all'ultima colonna. Sarà in questo formato. Ad esempio: - PID / java
quindi eseguire:
kill -9 PID. Worked on Centos5
Per MAC:
lsof -n -i :'port-number' | grep LISTEN
Risposta del campione:
java 4744 (PID) test 364u IP0 asdasdasda 0t0 TCP *:port-number (LISTEN)
e quindi eseguire:
kill -9 PID
Ha funzionato su Macbook
sudo netstat
a vedere effettivamente i PID :)
Il "netstat --programs"
comando ti fornirà le informazioni sul processo, supponendo che tu sia root. Quindi dovrai interrompere il processo "offensivo" che potrebbe riavviarsi solo per infastidirti :-).
Cosa stai effettivamente cercando di ottenere qui? Le soluzioni possono variare in base ai processi che detengono tali porte.
Termina il processo che sta ascoltando la porta in questione. Credo che netstat ti mostri gli ID di processo.
Se vuoi davvero terminare immediatamente un processo, invii un segnale KILL anziché un segnale TERM (quest'ultimo una richiesta di arresto, il primo avrà effetto immediatamente senza alcuna pulizia). È facile da fare:
kill -KILL <pid>
Tuttavia, tenere presente che, a seconda del programma che si sta arrestando, il suo stato potrebbe essere gravemente danneggiato durante l'operazione. Normalmente si desidera inviare un segnale KILL solo quando la normale terminazione non funziona. Mi chiedo quale sia il problema di fondo che cerchi di risolvere e se uccidere sia la soluzione giusta.
Penso che l'unico modo sarà fermare il processo che ha aperto la porta.
Spegnere il computer mi uccide sempre il processo.