Освободить порт TCP/IP?

netstat -tulnap показывает, какие порты используются. Как освободить порт в Linux?

Ответ 1

Как говорили другие, вам придется убить все процессы, которые прослушивают этот порт. Самый простой способ сделать это - использовать команду фьюзера (1). Например, чтобы просмотреть все процессы, которые прослушивают HTTP-запросы на порту 80 (запускаются с правами root или используются sudo):

# fuser 80/tcp

Если вы хотите их убить, просто добавьте опцию -k.

Ответ 2

Чтобы убить определенный порт в Linux, используйте команду

sudo fuser -k Port_Number/tcp

замените Port_Number на ваш занятый порт.

Ответ 3

Вы можете использовать tcpkill (часть пакета dsniff), чтобы убить соединение, которое требуется на нужном порту:

sudo tcpkill -9 port PORT_NUMBER

Ответ 4

Команда "netstat --programs" предоставит вам информацию о процессе, если вы являетесь пользователем root. Тогда вам придется убить "оскорбительный" процесс, который вполне может начаться снова, чтобы вас раздражать: -).

Что вы на самом деле пытаетесь достичь здесь? Решения будут варьироваться в зависимости от процессов, поддерживающих эти порты.

Ответ 5

Убейте процесс, который слушает данный порт. Я считаю, что netstat показывает, что вы обрабатываете идентификаторы.

Ответ 6

В типе терминала:

netstat -anp|grep "port_number"

Он покажет детали порта. Перейти к последнему столбцу. Это будет в этом формате. Например: - PID/Java

затем выполните:

kill -9 PID. Worked on Centos5

Для MAC:

lsof -n -i :'port-number' | grep LISTEN

Образец ответа:

java   4744 (PID)  test  364u  IP0 asdasdasda   0t0  TCP *:port-number (LISTEN)

и затем выполните:

kill -9 PID 

Работал на Macbook

Ответ 7

Если вы действительно хотите немедленно убить процесс, вы посылаете ему сигнал KILL вместо сигнала TERM (последний - запрос на остановку, первый немедленно вступает в силу без какой-либо очистки). Это легко сделать:

kill -KILL <pid>

Помните, однако, что в зависимости от программы, которую вы останавливаете, ее состояние может сильно испортиться при этом. Обычно вы хотите отправить сигнал KILL, когда нормальное завершение не работает. Мне интересно, какая основная проблема заключается в том, что вы пытаетесь решить и является ли убийство правильным решением.

Ответ 8

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

Ответ 9

Чтобы проверить все порты

нетстат -lnp

Чтобы закрыть открытый порт:

фьюзер -k номер_порта /tcp

пример:

fuser -k 8080/tcp В обоих случаях вы можете использовать sudo при необходимости.

Ответ 10

sudo killall -9 "имя процесса"

Ответ 11

Выключение компьютера всегда убивает процесс для меня.