问题链接 https://www.oschina.net/question/2402835_2308799
找到的解决方式
1、在tomcat/bin/shutdown.sh文件中增加一个参数
在文件最后一行的命令添加一个force exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
2、在tomcat/bin/catalina.sh脚中,加入下面这三行
在这一行后面 PRGDIR=`dirname "$PRG"`
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
cat $CATALINA_PID
fi
3、在tomcat/bin/下面新建setenv.sh文件,文件内容如下:
#!/bin/bash
CATALINA_PID=$CATALINA_HOME/bin/CATALINA_PID
-----------------------------------------------------------------------------------------------------
猜测原因如下:
linux的线程是通过进程实现的。 2.6内核32位系统上 gcc -static编译出来的程序 会让多线程表现成多进程的状态,出现同名多个PID 不带-static就表现为只有一个PID 64位系统,不管加不加-static