Я пытался закрыть Tomcat, используя ./shutdown.sh
из /bin
каталога Tomcat . Но обнаружил, что сервер не был закрыт должным образом. И, таким образом, я не смог перезапустить
Мой кот работает по порту 8080
.
Я хочу убить запущенный процесс Tomcat 8080
. Сначала я хочу получить список процессов, запущенных на определенном порту (8080), чтобы выбрать, какой процесс нужно убить.
linux
unix
port
kill-process
veer7
источник
источник
Ответы:
Это
fuser 8080/tcp
напечатает вам PID процесса, связанного с этим портом.И это
fuser -k 8080/tcp
убьет этот процесс.Работает только на Linux. Более универсальным является использование
lsof -i4
(или 6 для IPv6).источник
fuser
. Только берет файл, не поддерживает-k
.fuser: command not found
, установите psmisc. Для CentOS / RHEL 7, запуститеsudo yum install psmisc
Чтобы перечислить любой процесс, прослушивающий порт 8080:
Чтобы убить любой процесс, прослушивающий порт 8080:
или более насильственно:
(
-9
соответствуетSIGKILL - terminate immediately/hard kill
сигналу: см. « Список сигналов убийства» и « Какова цель опции -9 в команде kill?» . Если сигнал не указанkill
, сигнал TERM aka-15
orsoft kill
отправляется, чего иногда недостаточно для уничтожения). процесс.).источник
sudo
sudo lsof -i:8080
.Используйте команду
используется
grep java
какtomcat
использует вjava
качестве своих процессов.Он покажет список процессов с номером порта и идентификатором процесса
число перед
/java
является идентификатором процесса. Теперь используйтеkill
команду, чтобы убить процесс-9
подразумевает, что процесс будет убит принудительно.источник
netstat
.Я бы добавил эту однострочную строку, чтобы убить только LISTEN на конкретном порту:
kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)
источник
Вы можете использовать команду lsof. Пусть номер порта как здесь 8090
Эта команда возвращает список открытых процессов на этом порту.
Что-то вроде…
Чтобы освободить порт, убейте процесс, используя его (идентификатор процесса - 75782)…
Этот работал для меня. вот ссылка из оригинального поста: ссылка
источник
Если вы хотите уничтожить процесс, запущенный на порту 8080, то сначала вам нужно найти идентификационный номер процесса порта (PID) 8080, а затем уничтожить его. Выполните следующую команду, чтобы найти 8080 номер порта PID:
Вот,
Теперь вы можете легко убить свой PID с помощью следующей команды:
Вот,
Вы можете использовать одну команду, чтобы убить процесс на определенном порту, используя следующую команду:
Для получения дополнительной информации вы можете увидеть следующую ссылку Как убить процесс на конкретном порту в Linux
источник
sudo kill -9 $(sudo lsof -t -i:8080)
работал для меняЛучший способ убить все процессы на определенном порту;
источник
Это печатает, чтобы выводить идентификаторы процесса всего, что работает
<port_number>
:Он также печатает некоторые вещи в stderr, поэтому:
Затем мы можем предоставить эти идентификаторы процесса
kill
команде:Вы также можете поместить это в функцию, если вы делаете это много:
источник
Получить PID задания и убить его.
источник
lsof -ti:8080-8089 | xargs kill
.Чтобы узнать PID службы, работающей на конкретном порту:
вы получите описание этого процесса. Теперь используйте kill или kill -9 pid. Легко убит.
например
netstat -ap | grep :8080
Сейчас же:
Не забудьте запустить все команды как
root
источник
Один лайнер
объяснение здесь: используйте комбинацию
lsof and kill
выберите pid и используйте
kill
источник
попробуй так,
источник
Выберите номер порта и примените команду grep in netstat, как показано ниже
Консольный выход
Убить сервис на основе PID (идентификационный номер процесса)
источник
lsof -i tcp:8000
Эта команда выводит информацию о процессе, запущенном в порту 8000kill -9 [PID]
Эта команда убивает процессисточник
Linux : Сначала вы можете найти PID этой команды, если знаете порт:
пример:-
Затем вы берете процесс убийства. выполните следующую команду:
убить -9 PID
Пример: -
убить -9 15986
источник
Linux : Вы можете использовать эту команду, если знаете порт:
AIX :
Затем вы берете первый столбец (пример: f100050000b05bb8) и запускаете следующую команду:
убить процесс.
источник
Вы можете узнать список всех портов, запущенных в системе, вместе с его деталями (pid, адрес и т. Д.):
Вы можете узнать подробности о конкретном номере порта , указав номер порта в следующей команде:
пример: sudo netstat -lutnp | grep -w '8080' Подробности будут предоставлены следующим образом:
если вы хотите убить процесс с помощью pid, то :
kill -9 {PID}
если вы хотите убить процесс, используя номер порта :
fuser -n tcp {port_number}
используйте,
sudo
если вы не можете получить доступ к любому.источник
kill -9 `fuser 8080/tcp|xargs -n 1`
эта команда также убивает процесс, который прослушивает порт 8080 с TCP-соединениемисточник
Результат: 80 / tcp: 1858 1867 1868 1869 1871
Убить процесс по одному
убить -9 1858
источник
Я работаю над системой Yocto Linux, которая имеет ограниченный набор доступных инструментов Linux. Я хотел убить процесс, который использовал определенный порт (1883).
Сначала, чтобы увидеть, какие порты мы слушаем, я использовал следующую команду:
Затем я нашел имя процесса с использованием порта 1883 следующим образом:
Как мы видим выше, эта программа
/usr/sbin/mosquitto
использует порт 1883.Наконец, я убил процесс:
Я использовал,
systemctl
потому что в этом случае это был сервис systemd.источник
В моем случае у цента есть проблема в предложенном ответе. Поэтому я использовал следующее решение:
источник
основываться на том, что @ veer7 сказал:
если вы хотите знать, что было на порте, сделайте это, прежде чем убить его.
Используйте 'ps' и номер процесса, который netstat сообщил обратно
источник
Другой способ с Git Bash:
источник
netstat -lt
fuser <port number>/tcp
kill <process id>
источник
В Windows это будет
netstat -ano | grep "8080"
и мы получим следующее сообщениеTCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10076
Мы можем убить PID, используя
taskkill /F /PID 10076
источник