2013-01-03 13 views
6
linię

polecenia Linux:poleceń Linuksa uzyskać tomcat identyfikator procesu wg nazwy

Kiedy wykonać następujące polecenie ps -ef |grep tomcat to pokazuje mi następujący proces

abcapp 28119  1 0 12:53 ?  00:00:19 /usr/java/jdk1.6.0_10//bin/java -Xmx256m -Dabc.log.file=/home/app/apps/rum/logs/dev.log -Dabc.config=dev -Dlog4j.configuration=file:///home/abcapp/env/abc_env/abc_env-1.2/config/log4j-webapp.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/home/abcapp/env/tomcat/tomcat-5.5-26-rum/conf/logging.properties -Djava.endorsed.dirs=/home/abcapp/env/tomcat/tomcat-5.5-26-rum/common/endorsed -classpath :/home/abcapp/env/tomcat/tomcat-5.5-26-rum/bin/bootstrap.jar:/home/abcapp/env/tomcat/tomcat-5.5-26-rum/bin/commons-logging-api.jar -Dcatalina.base=/home/abcapp/env/tomcat/tomcat-5.5-26-rum -Dcatalina.home=/home/abcapp/env/tomcat/tomcat-5.5-26-rum -Djava.io.tmpdir=/home/abcapp/env/tomcat/tomcat-5.5-26-rum/temp org.apache.catalina.startup.Bootstrap start 

ale kiedy wydać następujące polecenie pokazuje nic

pgrep tomcat-5.5-26-rum OR pgrep "*-rum" 

Czy ktoś może mi pomóc, jak mogę uzyskać identyfikator procesu tomcat po nazwie regex dla "* -rum"

Z góry dziękuję.

+0

Ludzie wydają się być skąpy jeśli chodzi o upvoting pytań :) Dzięki za pytanie to, Ułatwiło mi to znalezienie odpowiedzi. –

Odpowiedz

12

pgrep szuka tylko nazwy procesu bez pełnej ścieżki (w twoim przypadku tylko java) i bez argumentów.

Od tomcat-5.5-26-rum jest częścią tego ostatniego, to bym przeszukać PID z

ps -ef | grep tomcat-5.5-26-rum | grep java | awk ' { print $2 } ' 

Podwójny grep jest przydatna, aby odrzucić PID grep sama

7

Wystarczy dodaj następującą linię na początku catalina.sh pliku

CATALINA_PID="$CATALINA_BASE"/logs/tomcat.pid 

LUB

CATALINA_PID=/tmp/tomcat.pid 

I skacz kocurem. Spowoduje to utworzenie pliku tomcat.pid w podanej ścieżce i umieszczenie w nim procesu procesu Tomcat.

2

Ten pracował dla mnie:

To da identyfikator procesu bieżącego systemem tomcat

echo ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'

Powiązane problemy