it-swarm.com.de

Wie bringe ich diesen Tomcat-Prozess in Terminal ab?

Mit ps -ef | grep Tomcat habe ich einen Tomcat-Server gefunden, der gerade läuft. Ich habe kill -9 {id} ausprobiert, aber es wird "Kein solcher Prozess" zurückgegeben. Was mache ich falsch? 

Hier ist ein Beispiel:

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

Es ist nicht erforderlich, die PID (Prozess-ID) von Tomcat zu kennen, um sie zu beenden. Sie können den folgenden Befehl verwenden, um Tomcat zu beenden:

pkill -9 -f Tomcat
111
Darshan

ps -ef | Grep Tomcat | awk '{print $ 2}' | xargs töten -9

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

Teil 1

ps -ef | grep Tomcat => Alle Prozesse mit Tomcat grep abrufen

Teil 2

Sobald wir Details zum Prozess haben, leiten wir sie in Teil 2 des Skripts weiter

awk '{print $ 2}' | xargs kill -9 => Holen Sie sich die zweite Spalte [Prozess-ID] und töten Sie sie mit der Option -9

Hoffe das hilft.

22
suryakrupa

Tomcat läuft nicht. Ihre Suche zeigt Ihnen den Grep-Prozess, der nach Tomcat sucht. Zu dem Zeitpunkt, zu dem Sie diese Ausgabe sehen, läuft grep natürlich nicht mehr, daher ist die PID nicht mehr gültig.

18
Aurand

Wie bereits erwähnt, haben Sie den grep-Prozess gesehen. Wenn Sie die Ausgabe auf Tomcat selbst beschränken möchten, haben Sie zwei Alternativen 

  • das erste gesuchte Zeichen in eine Zeichenklasse einschließen 

    ps -ef | grep '[t]omcat'
    

    Dies sucht auch nach Tomcat, jedoch fehlt der grep [t]omcat-Eintrag, da er nicht mit [t]omcat übereinstimmt.

  • verwenden Sie ein benutzerdefiniertes Ausgabeformat mit ps 

    ps -e -o pid,comm | grep Tomcat
    

    Dies zeigt nur die PID und den Namen des Prozesses ohne die Prozessargumente an. Grep wird also als grep und nicht als grep Tomcat aufgeführt.

12
Olaf Dietsche

geben Sie einfach den folgenden Befehl im Terminal ein

ps -ef |grep 'catalina'

kopieren Sie den Wert der Prozess-ID, geben Sie dann den folgenden Befehl ein und fügen Sie die Prozess-ID ein

 kill -9 processid
11
ASR
ps -ef

listet alle derzeit laufenden Prozesse auf

| grep Tomcat

übergibt die Ausgabe an grep und sucht nach Instanzen von Tomcat. Da grep ein Prozess selbst ist, wird er von Ihrem Befehl zurückgegeben. In Ihrer Ausgabe werden jedoch keine Tomcat-Prozesse angezeigt.

2
Chris Knight

Im Tomcat/bin/catalina.sh

fügen Sie die folgende Zeile unmittelbar nach dem Ende des Kommentarbereichs hinzu:

CATALINA_PID=someFile.txt

um eine laufende Instanz von Tomcat zu beenden, können Sie Folgendes verwenden:

kill -9 `cat someFile.txt`
2
ps -Af | grep "Tomcat" | grep -v grep | awk '{print$2}' | xargs kill -9
1
Vaibhav

Das hat für mich funktioniert:

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

Dieser obige Befehl gibt "process_id" zurück.

Schritt 2: töten Sie -9 Prozess-ID
// Diese Prozess-ID ist identisch mit Schritt 1: Ausgabe 

1
jaydip jadhav

Um einen Prozess nach Namen zu beenden, verwende ich Folgendes

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

Der tr -s " " | cut -d " " -f 2 ist derselbe wie awk '{print $2}'. tr Unterdrückt die Tabulatoren in ein einzelnes Leerzeichen und cut wird mit <SPACE> als Trennzeichen versehen und die zweite Spalte wird angefordert. Die zweite Spalte in der ps aux-Ausgabe ist die Prozess-ID.

0

Ich musste den activeMQ-Java-Prozess bei vielen Java-Prozessen auf dem Server beenden, und dieser Prozess wird von einem bestimmten Benutzer gestartet (Benutzername ist activemq).

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

wie @Aurand zu sagen hat, läuft Tomcat nicht. du kannst den ... benutzen

ps -ef |grep Java | grep Tomcat Befehl zum Ignorieren der ps-Programme. 

arbeitete für mich in den Shell-Scripte-Dateien.

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

NR steht für die Anzahl der Datensätze in der Eingabedatei .awk kann Text suchen oder ersetzen

0
user8357232

das funktioniert sehr gut (Tomcat-Prozesse finden und gewaltsam beenden)

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