Estoy tratando de escribir un script que mata el servicio que se ejecuta en un puerto específico. Este es mi guión:
a=$(ps ax | grep 4990 | grep java | awk '{print $1}')
kill -9 $a
Es un programa de Java. Este script funciona a veces, pero misteriosamente falla la mayor parte del tiempo.
¿Hay alguna otra forma de matar un servicio que se ejecuta en un puerto? Mi puerto es 4990
.
Respuestas:
Puedes probar
fuser
:O use
lsof
para obtener la identificación del proceso, luego alimente akill
:fuente
tcp
.-t
bandera, la he necesitado por tanto tiempo.Si desea eliminar cualquier servicio o proceso que se ejecute en el número de puerto 8080, primero debe encontrar el número de identificación de proceso (PID) del puerto 8080 y luego eliminarlo. Ejecute el siguiente comando para encontrar el número de puerto 8080 PID:
Aquí,
Entonces ahora puede matar fácilmente su PID usando el siguiente comando:
Aquí,
Puede usar un comando para matar un proceso en un puerto específico usando el siguiente comando:
Para más información, puede ver el siguiente enlace Cómo matar un proceso en un puerto específico en Linux
fuente
kill -9
le da al proceso objetivo la oportunidad de ordenar. Considere usar plainkill
, al menos inicialmente.kill.php
$ php kill.php 8088
fuente
kill -9
le da al proceso objetivo la oportunidad de ordenar. Considere usar plainkill
, al menos inicialmente.lsof -t -i:port_id
comandos cuando el proceso de construcciónport_id
oprocess id
deport_id
pueden estar vacías, que el tiempo que tengamos alguna error de comando, para evitar ese tipo de error am utilizado este. aquí me puedo matar Identificación del proceso exacto de ese puerto,