netstat -tulnap
показує мені, які порти використовуються. Як звільнити порт в Linux?
netstat -tulnap
показує мені, які порти використовуються. Як звільнити порт в Linux?
Відповіді:
Як говорили інші, вам доведеться вбити всі процеси, які слухаються на цьому порту. Найпростіший спосіб зробити це - скористатися командою fuser (1). Наприклад, щоб побачити всі процеси прослуховування http-запитів на порт 80 (запустіть як root або використовуйте sudo):
# fuser 80/tcp
Якщо ви хочете вбити їх, тоді просто додайте параметр -k.
sudo yum install psmisc
)
kill -9 $(fuser 80/tcp 2>/dev/null)
Для вбивства конкретного порту в Linux використовуйте команду нижче
sudo fuser -k Port_Number/tcp
замініть Port_Number на зайнятий порт.
Ви можете використовувати tcpkill
(частину dsniff
пакета), щоб перервати з'єднання, яке знаходиться на потрібному порту:
sudo tcpkill -9 port PORT_NUMBER
$ sudo tcpkill -9 port 5432 tcpkill: listening on lxcbr0 [port 5432]
У термінальному типі:
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
sudo netstat
насправді побачити
"netstat --programs"
Команда дасть вам інформацію про процес, за умови , що ти корінь. Тоді вам доведеться вбити "ображаючий" процес, який може початися знову лише для того, щоб роздратувати вас :-).
Чого ви насправді намагаєтесь досягти тут? Рішення залежать від процесів, що містять ці порти.
Вбийте процес, який слухає відповідний порт. Я вважаю, що netstat показує, що ви обробляєте ідентифікатори.
Якщо ви дійсно хочете вбити процес негайно, ви надсилаєте йому сигнал KILL замість сигналу TERM (останній запит припинити, перший набирає чинності негайно без очищення). Це легко зробити:
kill -KILL <pid>
Однак майте на увазі, що залежно від програми, яку ви зупиняєте, її стан може сильно зіпсуватися при цьому. Зазвичай ви бажаєте надіслати сигнал KILL лише тоді, коли нормальне припинення не працює. Мені цікаво, яка основна проблема полягає в тому, що ви намагаєтеся вирішити і чи вбивство - це правильне рішення.
sudo killall -9 "ім'я процесу"
Вимкнення комп'ютера для мене завжди вбиває процес.