Crowd as linux service does not kill PID
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
問題
If you installed Crowd as a service on Linux, and found that the process is not being killed, you can try the following:
- If you are running Crowd 2.8.3 and below, make sure to upgrade to Crowd 2.8.4 or later (includes fix for - CWD-4423Getting issue details... STATUS )
- Crowd documentation on Setting Crowd to Run Automatically and Use an Unprivileged System User on UNIX is a bit outdated compared to Confluence and JIRA. I opened a feature request for it - CWD-4702Getting issue details... STATUS .
- First recommendation is to migrate Crowd apache service script to look like Confluence or JIRA
- Save and try the script again
You might encounter a problem where the process is not killed from the first attempt.
service crowd stop
Running the stop command another time will finally kill the process.
診断
Diagnostic Steps
You could try increasing the wait time for the gracefull shutdown (5 seconds is the default value) to something like 30 seconds
stop-crowd.sh 30
原因
The thread dumps show that there are multiple threads locked waiting for others. 30 seconds delay did not help to gracefully shutdown crowd.
回避策
A workaround is to force the script to shutdown Crowd (killing the process.) In order to do that, modify the tomcat service script to force the process kill
stop-crowd.sh -force
The force flag will execute kill -9
on the PID and Crowd process will be killed.