Próbuję napisać skrypt, który zabija usługę działającą na określonym porcie. To jest mój skrypt:
a=$(ps ax | grep 4990 | grep java | awk '{print $1}')
kill -9 $a
To jest program Java. Ten skrypt czasami działa, ale przez większość czasu w tajemniczy sposób zawodzi.
Czy istnieje inny sposób zabicia usługi działającej na porcie? Mój port to 4990
.
Odpowiedzi:
Możesz spróbować
fuser
:Lub za pomocą,
lsof
aby uzyskać identyfikator procesu, a następnie przesłać dokill
:źródło
tcp
.-t
flagę, tak długo jej potrzebowałem.Jeśli chcesz zabić dowolną usługę lub proces działający na porcie 8080, najpierw musisz znaleźć numer identyfikacyjny procesu 8080 (PID), a następnie go zabić. Uruchom następującą komendę, aby znaleźć numer 8080 portu PID:
Tutaj,
Możesz więc teraz łatwo zabić swój PID za pomocą następującego polecenia:
Tutaj,
Możesz użyć jednego polecenia, aby zabić proces na określonym porcie za pomocą następującego polecenia:
Aby uzyskać więcej informacji, zobacz poniższy link Jak zabić proces na określonym porcie w systemie Linux
źródło
kill -9
daje procesowi docelowemu możliwości uporządkowania. Rozważ użycie zwykłegokill
, przynajmniej na początku.kill.php
$ php kill.php 8088
źródło
kill -9
daje procesowi docelowemu możliwości uporządkowania. Rozważ użycie zwykłegokill
, przynajmniej na początku.lsof -t -i:port_id
polecenia, gdy proces Zbudujport_id
lubprocess id
zport_id
może być pusta, że razem możemy dostać jakiś błąd polecenia, aby uniknąć tego rodzaju błędów jestem przyzwyczajony to. tutaj mogę zabić dokładny identyfikator procesu dla danego portu