解决linux下tomcat的shutdown命令杀不死进程

基本原理为启动tomcat时记录启动tomcat的进程id(pid),关闭时强制杀死该进程

第一步 :修改tomcat下bin/catalina.sh文件,添加点东西,主要是记录tomcat的pid,增加如下代码:

if [ -z "$CATALINA_PID" ]; then
      CATALINA_PID=$PRGDIR/CATALINA_PID
fi

如图

第二步 tomcat的shutdown.sh文件,在最后一行加上-force:

exec "$PRGDIR"/"$EXECUTABLE" stop "$@" 增加 -force

exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

如下图:

 

使用日志切割工具cronolog后,启动的进程增多,多了catalina.sh start和/usr/local/sbin/cronolog,使用上面的命令只能停掉java启动的tomcat进行,多了进程无法停掉,

需要修改tomcat下bin/catalina.sh文件,找到org.apache.catalina.startup.Bootstrap "$@" stop这行,然后在这行下面加上

if [ $? -eq 0 ];then
        kill -9 `ps -ef |grep tomcat |awk '/.*\/www\/tomcat-8081\/.*/{print $2}'`
fi

或者

if [ $? -eq 0 ];then
        ps -ef | grep -v "grep --color=auto" | grep "/www/tomcat-8081" |awk '{print "kill -9 "$2}' |bash
fi

 

tomcat停止报错:

SEVERE: Could not contact [localhost:[8005]]. Tomcat may not be running.

解决:大概是jdk的一个bug,我用的是jdk1.8
过程例如,我的jdk路径是“/usr/java/jdk1.8.0_171”。
1、cd /usr/java/jdk1.8.0_171/jre/lib/security/
2、找到名为“java.security”的文件,
3、打开进入:vi java.security
4、找到“securerandom.source = file:/ dev / random”。
5、修改“securerandom.source = file:/ dev /./ urandom”。
6、然后,转到Tomcat / bin目录,执行./start.sh并./shutdown.sh执行成功。

 

tomcat启动巨慢

参考文献:https://www.jianshu.com/p/576d356dc163

修改方法:

通过修改Tomcat启动文件-Djava.security.egd=file:/dev/urandom

通过修改JRE中的jre/lib/security/java.security文件securerandom.source=file:/dev/urandom

第三种方式——增大/dev/random的熵池,查看熵池cat /proc/sys/kernel/random/entropy_avail

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值