Я пытаюсь написать скрипт, который убивает службу, работающую на определенном порту. Это мой сценарий:
a=$(ps ax | grep 4990 | grep java | awk '{print $1}')
kill -9 $a
Это Java-программа. Этот сценарий иногда работает, но таинственным образом терпит неудачу большую часть времени.
Есть ли другой способ убить службу, работающую на порту? Мой порт есть 4990
.
Ответы:
Вы можете попробовать
fuser
:Или используйте
lsof
для получения идентификатора процесса, затем введитеkill
:источник
tcp
.-t
флаг, я так нуждался в нем так долго.Если вы хотите уничтожить какую-либо службу или процесс, работающий на порту 8080, сначала вам нужно найти идентификационный номер процесса порта 8080 (PID), а затем уничтожить его. Выполните следующую команду, чтобы найти 8080 номер порта PID:
Вот,
Теперь вы можете легко убить свой PID с помощью следующей команды:
Вот,
Вы можете использовать одну команду, чтобы убить процесс на определенном порту, используя следующую команду:
Для получения дополнительной информации вы можете увидеть следующую ссылку Как убить процесс на конкретном порту в Linux
источник
kill -9
дает целевому процессу никакой возможности убирать. Попробуйте использовать обычныйkill
, по крайней мере, на начальном этапе.kill.php
$ php kill.php 8088
источник
kill -9
дает целевому процессу никакой возможности убирать. Попробуйте использовать обычныйkill
, по крайней мере, на начальном этапе.lsof -t -i:port_id
команды при процессе сборкиport_id
илиprocess id
изport_id
может быть пустым, то время мы получаем некоторую команду ошибку, чтобы избежать такого рода ошибки утра использовал это. здесь я могу убить точный идентификатор процесса данного порта