首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat 7不关闭,进程继续运行?

Tomcat 7不关闭,进程继续运行?
EN

Stack Overflow用户
提问于 2014-07-23 15:09:37
回答 4查看 35.4K关注 0票数 12

我开始使用Tomcat7,

代码语言:javascript
复制
cd /opt/tomcat7/bin    
$/opt/tomcat7/bin ./startup.sh

它显示正在运行的进程

代码语言:javascript
复制
root     23206  130  3.4 1323956 572880 pts/2  Sl   07:58   1:05 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dspring.profiles.active=mongo1,maxListenersAllowed -DST_SERVER=mongo1 -Djava.endorsed.dirs=/opt/tomcat7/endorsed -classpath /opt/tomcat7/bin/bootstrap.jar:/opt/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat7 -Dcatalina.home=/opt/tomcat7 -Djava.io.tmpdir=/opt/tomcat7/temp org.apache.catalina.startup.Bootstrap start

如果我使用以下命令关闭它

代码语言:javascript
复制
$/opt/tomcat7/bin ./shutdown.sh

它给出了这样的信息

代码语言:javascript
复制
Using CATALINA_BASE:   /opt/tomcat7
Using CATALINA_HOME:   /opt/tomcat7
Using CATALINA_TMPDIR: /opt/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat7/bin/bootstrap.jar:/opt/tomcat7/bin/tomcat-juli.jar

但是如果我检查上面的进程,它仍然显示它正在运行。Tomcat不会关机。我也尝试过使用root用户,但仍然没有成功。

我可以终止进程,但是我想创建部署脚本,所以我想使用shutdown.sh和startup.sh来完成

如果我尝试使用

代码语言:javascript
复制
/opt/tomcat7/bin/catalina.sh start
/opt/tomcat7/bin/catalina.sh stop

日志

代码语言:javascript
复制
Jul 23, 2014 8:26:17 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/i386:/lib:/usr/lib
Jul 23, 2014 8:26:18 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8081"]
Jul 23, 2014 8:26:18 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Jul 23, 2014 8:26:18 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 361 ms
Jul 23, 2014 8:26:18 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jul 23, 2014 8:26:18 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.53
Jul 23, 2014 8:26:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /opt/tomcat7/webapps/docs
Jul 23, 2014 8:26:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /opt/tomcat7/webapps/manager
Jul 23, 2014 8:26:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /opt/tomcat7/webapps/ROOT
Jul 23, 2014 8:26:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /opt/tomcat7/webapps/examples
Jul 23, 2014 8:26:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /opt/tomcat7/webapps/host-manager
Jul 23, 2014 8:26:18 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /opt/tomcat7/webapps/target
Jul 23, 2014 8:26:18 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8081"]
Jul 23, 2014 8:26:18 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 23, 2014 8:26:18 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 862 ms
Jul 23, 2014 8:26:42 AM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
Jul 23, 2014 8:26:42 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8081"]
Jul 23, 2014 8:26:42 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Jul 23, 2014 8:26:42 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Jul 23, 2014 8:26:42 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8081"]
Jul 23, 2014 8:26:42 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Jul 23, 2014 8:26:42 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8081"]
Jul 23, 2014 8:26:42 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
EN

回答 4

Stack Overflow用户

发布于 2014-07-23 15:33:42

您可以通过PID强制关机。

编辑

代码语言:javascript
复制
..tomcat/bin/catalina.sh

并将

代码语言:javascript
复制
CATALINA_PID=path

变量设置为本地路径。

CATALINA_PID

(可选)使用start (fork)时应包含catalina启动java进程的pid的文件路径

然后,您可以使用-force标志关闭Tomcat

代码语言:javascript
复制
../tomcat/bin/shutdown.sh -force

如果脚本不能正常停止,Tomcat将使用kill通过PID停止进程。

更新:

根据Joshua Taylor comment的说法,为运行tomcat存储额外变量的推荐方法是setenv.*脚本。

查看tomcat运行文档中的使用"setenv“脚本(可选,推荐)部分(3.4)

https://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt

票数 14
EN

Stack Overflow用户

发布于 2016-08-26 17:00:32

如果你在windows中,并使用可移植的tomcat,你可以使用nircmd程序工具,并关闭标题控制台窗口,而不是停止PID。下载此工具后,只需执行以下操作:

代码语言:javascript
复制
nircmd.exe win close title "Tomcat"
票数 1
EN

Stack Overflow用户

发布于 2016-12-14 00:55:10

我曾经有过一个不幸的经历,由于一个错误的身份验证机制,一个页面运行了无限的重定向循环。

它最终减慢了整个服务器的速度,但也让我无法优雅地关闭它。最后,我不得不像vzamanillo描述的那样使用蛮力。

问题的关键在于,您的服务器进程中可能正在运行一些可疑的东西,而这些进程将无法正常完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24903954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档