Как отключить Tomcat в Ubuntu? - PullRequest
18 голосов
/ 01 ноября 2010

Я пытался выключить tomcat , как показано ниже, но, кажется, tomcat все еще работает (http://localhost:8080/)

vandegraff@vandegraff-laptop:~$ /usr/share/tomcat6/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/share/tomcat6
Using CATALINA_HOME:   /usr/share/tomcat6
Using CATALINA_TMPDIR: /usr/share/tomcat6/temp
Using JRE_HOME:       /usr
1 Nov, 2010 11:41:40 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop: 
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:337)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)

Почему это так?


Обновление 1 для @hvgotcodes:

Вывод ps -ax | grep java

1597? Ss 0:00/ usr / bin / jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile / var / run / tomcat6.pid -Djava.awt.headless = true -Xmx128M -Djava.endorsed.dirs = / usr / share / tomcat6 / endorsed -Dcatalina.base = / var / lib / tomcat6 -Dcatalina.home = / usr / share / tomcat6 -Djava.io.tmpdir = / tmp / tomcat6-temp -Djava.security.manager -Djava.security.policy = / var / lib / tomcat6 / work / catalina.policy -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file = / var / lib / tomcat6 / conf / logging.properties org.apache.catalina.startup.Bootstrap

1598? S 0:00 / usr /bin / jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid -Djava.awt.headless = true -Xmx128M -Djava.endorsed.dirs = / usr / share / tomcat6endorsed -Dcatalina.base = / var / lib / tomcat6 -Dcatalina.home = / usr / share / tomcat6 -Djava.io.tmpdir = / tmp / tomcat6-temp -Djava.security.manager -Djava.security.policy = /var / lib / tomcat6 / work / catalina.policy -Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file = / var / lib / tomcat6 / conf / logging.propertiesorg.apache.catalina.startup.Bootstrap

1599?Sl 0:20 / usr / bin / jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile / var/run/tomcat6.pid -Djava.awt.headless = true -Xmx128M -Djava.endorsed.dirs = / usr / share / tomcat6 / endorsed -Dcatalina.base = / var / lib / tomcat6 -Dcatalina.home = / usr /share / tomcat6 -Djava.io.tmpdir = / tmp / tomcat6-temp -Djava.security.manager -Djava.security.policy = / var / lib / tomcat6 / work / catalina.policy -Djava.util.logging.manager =org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file = / var / lib / tomcat6 / conf / logging.properties org.apache.catalina.startup.Bootstrap

Должно всеэти 3 процесса - 1597, 1598, 1599 - быть убитыми?

Ответы [ 11 ]

52 голосов
/ 01 ноября 2010

Попробуйте

/etc/init.d/tomcat stop

(возможно, вам нужно что-то написать после tomcat, просто один раз нажмите клавишу Tab)

Редактировать: И вам также нужно сделать это как root.

21 голосов
/ 01 ноября 2010

Ван, в вашем случае, когда tomcat не завершит работу нормально, я бы использовал

ps ax | grep java

, чтобы найти номер процесса Java.Если эта команда возвращает что-то, запустите

sudo kill -9 pid

, где pid - номер процесса.Опция -9 означает «просто убить его», и обычно вам не нужны такие вещи, но, поскольку в вашей ситуации процесс не останавливается нормально, вам это нужно.Первая команда должна выглядеть так:

38678 s002  U      0:02.62 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java -Djava.util.logging.config.file=/usr/share/apache-tomcat-6.0.26/conf/logging.properties -Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=xxxx -Djava.endorsed.dirs=/usr/share/apache-tomcat-6.0.26/endorsed -classpath /usr/share/apache-tomcat-6.0.26/bin/bootstrap.jar -Dcatalina.base=/usr/share/apache-tomcat-6.0.26 -Dcatalina.home=/usr/share/apache-tomcat-6.0.26 -Djava.io.tmpdir=/usr/share/apache-tomcat-6.0.26/temp org.apache.catalina.startup.Bootstrap start

38678 - номер процесса.Имейте в виду, что могут быть запущены другие процессы Java, которые вы, возможно, не захотите уничтожать.Кроме того, этот вывод от Mac, поэтому в Ubuntu будет выглядеть немного иначе.

13 голосов
/ 14 июля 2014

Попробуйте использовать эту команду: (это остановит сервлет tomcat, это действительно помогает)

Служба sudo tomcat7 stop

или

sudo tomcat7 restart (если вам нужен перезапуск)

3 голосов
/ 04 января 2015

Для более изящного способа, попробуйте следующее:

Предупреждение: я использую Debian 7, а не Ubuntu, хотя это производная от Debian

Если вы используете Tomcat как сервис, вы можете получить список всех запущенных сервисов, набрав:

sudo service --status-all

Я использую Tomcat 7, который отображается в этом списке как tomcat7 . Затем, чтобы закрыть его, просто наберите:

остановка службы sudo tomcat7

3 голосов
/ 12 февраля 2014

Чтобы остановить процесс Apache, попробуйте эту команду

ps aux | греческий кот | awk '{print $ 2}' | xargs kill -9

2 голосов
/ 14 сентября 2015

Если вы установили tomcat вручную, запустите shutdown.sh(/.../tomcat/bin) с терминала до , просто отключите его .

1 голос
/ 28 мая 2018

если у вас установлен tomcat, вы можете сделать:

sh path2tomcat/bin/shutdown.sh
1 голос
/ 26 июля 2013

если вы запускаете эту команду

 debian@debian:~$  /usr/share/tomcat7/bin/shutdown.sh
 then your server will not stop and you will get o/p like that you provided if you use in 
 super user mode then effect will appear o/p will come like this

 debian@debian:~$ sudo /usr/share/tomcat7/bin/shutdown.sh
 [sudo] password for debian: 
 Using CATALINA_BASE:   /var/lib/tomcat
 Using CATALINA_HOME:   /var/lib/tomcat
 Using CATALINA_TMPDIR: /var/lib/tomcat/temp
 Using JRE_HOME:        /usr/lib/jvm/java-1.6.0-openjdk
 Using CLASSPATH:   /var/lib/tomcat/bin/bootstrap.jar:/var/lib/tomcat/bin/tomcat-juli.jar
1 голос
/ 25 января 2012

При запуске Tomcat под jsvc он не будет реагировать на сигнал выключения на указанном порту выключения, который отправляется из сценария shutdown.sh. Единственный способ, о котором я знаю, - это убить процесс, однако вам нужно будет убить те, которые перечислены как jsvc, а не java.

0 голосов
/ 01 марта 2019

У меня была похожая проблема, и я обнаружил, что работает следующая команда:

sudo systemctl stop tomcat

После выполнения этой команды вы можете ввести следующее, чтобы убедиться, чтоон "отключен":

список системных элементов

output for systemctl list-units

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...