Estou tentando escrever um script que mata o serviço em execução em uma porta específica. Este é o meu script:
a=$(ps ax | grep 4990 | grep java | awk '{print $1}')
kill -9 $a
É um programa java. Às vezes, esse script funciona, mas misteriosamente falha na maioria das vezes.
Existe alguma outra maneira de matar um serviço em execução em uma porta? Minha porta está 4990
.
Respostas:
Você pode tentar
fuser
:Ou use
lsof
para obter o ID do processo e, em seguida, alimente parakill
:fonte
tcp
.-t
bandeira, eu preciso disso há tanto tempo.Se você deseja eliminar qualquer serviço ou processo em execução na porta número 8080, primeiro você precisa encontrar o número de identificação do processo da porta 8080 (PID) e depois matá-lo. Execute o seguinte comando para localizar o PID do número da porta 8080:
Aqui,
Agora você pode facilmente matar seu PID usando o seguinte comando:
Aqui,
Você pode usar um comando para matar um processo em uma porta específica usando o seguinte comando:
Para mais, você pode ver o seguinte link Como matar um processo em uma porta específica no Linux
fonte
kill -9
dá ao processo de destino a oportunidade de arrumar. Considere usar simpleskill
, pelo menos inicialmente.kill.php
$ php kill.php 8088
fonte
kill -9
dá ao processo de destino a oportunidade de arrumar. Considere usar simpleskill
, pelo menos inicialmente.lsof -t -i:port_id
comando conter quando o processo de compilação oport_id
ouprocess id
deport_id
pode estar vazio, dessa vez obtemos algum erro de comando, para evitar que esse tipo de erro seja usado. Aqui eu posso matá-id processo exato do porto dado