web-dev-qa-db-fra.com

Comment puis-je tuer ce processus Tomcat dans Terminal?

À l'aide de ps -ef | grep Tomcat, j'ai trouvé un serveur Tomcat en cours d'exécution. J'ai essayé kill -9 {id} mais il retourne "Aucun processus de ce type". Qu'est-ce que je fais mal? 

Voici un exemple:

Admins-MacBook-Pro:test-parent tom.maxwell$ ps -ef | grep Tomcat
2043706342 39707 39695   0  3:40PM ttys000    0:00.00 grep Tomcat
Admins-MacBook-Pro:test-parent tom.maxwell$ kill -9 39707
-bash: kill: (39707) - No such process
44
Tom Maxwell

Il n'est pas nécessaire de connaître le pid (ID de processus) de Tomcat pour le tuer. Vous pouvez utiliser la commande suivante pour tuer Tomcat:

pkill -9 -f Tomcat
111
Darshan

ps -ef | grep Tomcat | awk '{print $ 2}' | xargs kill -9

https://Gist.github.com/nrshrivatsan/1d2ea4fcdcb9d1857076

Partie 1

ps -ef | grep Tomcat => Obtenir tous les processus avec Tomcat grep

Partie 2

Une fois que nous avons les détails du processus, nous transmettons cela dans la partie 2 du script.

awk '{print $ 2}' | xargs kill -9 => Récupère la deuxième colonne [ID du processus] et les tue avec l'option -9

J'espère que cela t'aides.

22
suryakrupa

Tomcat n'est pas en cours d'exécution. Votre recherche vous montre le processus grep, qui recherche Tomcat. Bien sûr, au moment où vous voyez cette sortie, grep n'est plus en cours d'exécution, donc le pid n'est plus valide.

18
Aurand

Comme d'autres l'ont déjà noté, vous avez vu le processus grep. Si vous souhaitez limiter la sortie à Tomcat lui-même, vous avez deux possibilités 

  • envelopper le premier caractère recherché dans une classe de caractères 

    ps -ef | grep '[t]omcat'
    

    Ceci recherche aussi Tomcat, mais manque l’entrée grep [t]omcat, car elle ne correspond pas à [t]omcat.

  • utiliser un format de sortie personnalisé avec ps 

    ps -e -o pid,comm | grep Tomcat
    

    Cela montre seulement le pid et le nom du processus sans les arguments du processus. Ainsi, grep est répertorié en tant que grep et non en tant que grep Tomcat.

12
Olaf Dietsche

il suffit de taper la commande ci-dessous dans le terminal

ps -ef |grep 'catalina'

copier la valeur de l'identifiant du processus, puis taper la commande suivante et coller l'identifiant du processus

 kill -9 processid
11
ASR
ps -ef

listera tous vos processus en cours

| grep Tomcat

passera la sortie à grep et recherchera des instances de Tomcat. Puisque grep est un processus en soi, il est renvoyé de votre commande. Cependant, votre sortie ne montre aucun processus d'exécution de Tomcat.

2
Chris Knight
ps -Af | grep "Tomcat" | grep -v grep | awk '{print$2}' | xargs kill -9
1
Vaibhav

Cela a fonctionné pour moi:

Étape 1: echo ps aux | grep org.Apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'

Cette commande ci-dessus renvoie "id_processus"

Étape 2: kill -9 process_id
// Ce process_id identique à l'étape 1: sortie 

1
jaydip jadhav

Pour tuer un processus par son nom, j'utilise ce qui suit

ps aux | grep "search-term" | grep -v grep | tr -s " " | cut -d " " -f 2 | xargs kill -9

Le tr -s " " | cut -d " " -f 2 est identique à awk '{print $2}'. tr supprime les espaces de tabulation en espace simple et cut reçoit <SPACE> comme délimiteur et la deuxième colonne est demandée. La deuxième colonne de la sortie ps aux est l'identifiant du processus.

0

J'ai dû mettre fin au processus Java actifMQ parmi de nombreux processus Java sur le serveur. Celui-ci est lancé par l'utilisateur spécifique (nom d'utilisateur est activemq) . Un bon moyen de séparer peut donc être de démarrer un processus par un utilisateur spécifique:

ps -ef | grep "activemq" | awk '{print $2}' | xargs kill -9
0
dobrivoje

comme @Aurand l'a dit, Tomcat n'est pas en cours d'exécution. vous pouvez utiliser le

ps -ef |grep Java | grep Tomcat commande pour ignorer les programmes ps

travaillé pour moi dans les fichiers scripte de Shell.

0
ccjeaty
kill -9 $(ps -ef | grep 8084 | awk 'NR==2{print $2}')

NR est pour le nombre d'enregistrements dans le fichier d'entrée .awk peut trouver ou remplacer du texte

0
user8357232