Confluence does not terminate after shutdown script
Problem
After stopping confluence via catalina.sh stop
Confluence says, in the logs, that it is stopping, as below:
INFO [main] [com.atlassian.confluence.lifecycle] contextDestroyed Stopping Confluence
INFO [main] [confluence.cluster.tangosol.TangosolClusterManager] shutdown Shutting down Coherence services
but the java process never terminates.
Resolution
Pass the -force
parameter to catalina.sh
as:
catalina.sh stop -force
This will kill the java process and stop Confluence.
If the above results in an error, such as:
Kill failed: $CATALINA_PID not set
Please add the following line of code to the top of your <Confluence-Installation-Directory>/bin/setenv.sh
file (Standalone instance):
CATALINA_PID="<Change this to your preferred location>/id.pid"
export CATALINA_PID
Tomcat will automatically write its process id to id.pid
in your specified path and kill its process with the -force
parameter.
For Linux or Mac user:
In addition to the above, you can try a custom script that runs shutdown.sh
first before forcing Tomcat to shutdown. This script will sleep 60 seconds then look inside ./id.pid
to check if Tomcat is still running. If Tomcat is still running, it will issue a catalina.sh stop -force
.
The script needs to be saved in <confluence install>/bin and assumes id.pid
is located in the same location.
Note that this script is provided as is and not supported.
Finding the Root Cause of Shutdown Problems
If you're interesting in tracking down the root cause of the problem, your best option is to:
- Attempt to shut down your application server
- Take 3-5 thread dumps spaced 1 minute apart.
- Look through the thread dumps to see what threads are still active after 5 minutes.
- If you need help analyzing the thread dump output, send your updated application server logs to Atlassian Support.