J'essaie d'écrire un script qui tue le service exécuté sur un port spécifique. Voici mon script:
a=$(ps ax | grep 4990 | grep java | awk '{print $1}')
kill -9 $a
C'est un programme java. Ce script fonctionne parfois, mais échoue mystérieusement la plupart du temps.
Existe-t-il un autre moyen de tuer un service exécuté sur un port? Mon port est 4990
.
Réponses:
Vous pouvez essayer
fuser
:Ou utilisez
lsof
pour obtenir l'ID du processus, puis alimentez-lekill
:la source
tcp
.-t
drapeau, j'en ai besoin depuis si longtemps.Si vous souhaitez supprimer un service ou un processus exécuté sur le numéro de port 8080, vous devez d'abord trouver le numéro d'identification de processus (PID) du port 8080, puis le tuer. Exécutez la commande suivante pour rechercher le numéro de port 8080 PID:
Ici,
Ainsi, vous pouvez maintenant facilement tuer votre PID en utilisant la commande suivante:
Ici,
Vous pouvez utiliser une commande pour tuer un processus sur un port spécifique à l'aide de la commande suivante:
Pour plus d'informations, vous pouvez voir le lien suivant Comment tuer un processus sur un port spécifique sous Linux
la source
kill -9
donne au processus cible aucune possibilité de ranger. Envisagez d'utiliser de la plainekill
, au moins au début.kill.php
$ php kill.php 8088
la source
kill -9
donne au processus cible aucune possibilité de ranger. Envisagez d'utiliser de la plainekill
, au moins au début.lsof -t -i:port_id
commande contain lors du processus de génération, leport_id
ouprocess id
deport_id
peut être vide, cette fois nous obtenons une erreur de commande, pour éviter ce type d'erreur, je l'utilise. ici, je peux tuer l'identifiant de processus exact du port donné