Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed PID management from start/stop scripts #15934

Merged
merged 3 commits into from Nov 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions hazelcast/src/main/resources/readme.html
Expand Up @@ -125,8 +125,8 @@ <h3 id="folders">Folders</h3>
<li><strong>hazelcast-full-example.xml</strong> &mdash; It is the Hazelcast IMDG configuration file that includes all the configuration elements and attributes with their descriptions.</li>
<li><strong>start.bat</strong> &mdash; Starts a Hazelcast IMDG member for Windows users.</li>
<li><strong>start.sh</strong> &mdash; Starts a Hazelcast IMDG member for Linux users.</li>
<li><strong>stop.bat</strong> &mdash; Stops the current running Hazelcast IMDG member for Windows users.</li>
<li><strong>stop.sh</strong> &mdash; Stops the current running Hazelcast IMDG member for Linux users.</li>
<li><strong>stop-all.bat</strong> &mdash; Stops all of the running Hazelcast IMDG member for Windows users.</li>
<li><strong>stop-all.sh</strong> &mdash; Stops all of the running Hazelcast IMDG member for Linux users.</li>
<li><strong>cluster.sh</strong> &mdash; Provides basic functionalities for cluster management such as getting and changing the cluster state, shutting down the cluster or forcing the cluster to clean its persisted data and make a fresh start.</li>
<li><strong>healthcheck.sh</strong> &mdash; Provides basic information about your cluster and member (on which you run this script) .</li>
</ul>
Expand Down
33 changes: 12 additions & 21 deletions hazelcast/src/main/resources/start.bat
Expand Up @@ -2,9 +2,18 @@

SETLOCAL

if NOT DEFINED JAVA_HOME goto error
set RUN_JAVA=%JAVA_HOME%\bin\java
if "x%JAVA_HOME%" == "x" (
echo JAVA_HOME environment variable not available.
set RUN_JAVA=java
) else (
set "RUN_JAVA=%JAVA_HOME%\bin\java"
)

"%RUN_JAVA%" -version 1>nul 2>nul || (
echo JAVA could not be found in your system.
echo Please install Java 1.8 or higher!!!
exit /b 2
)

REM ******* you can enable following variables by uncommenting them

Expand All @@ -25,30 +34,12 @@ if NOT "%MAX_HEAP_SIZE%" == "" (

set "CLASSPATH=%~dp0..\lib\hazelcast-all-${project.version}.jar;%~dp0..\user-lib;%~dp0..\user-lib\*"

FOR /F "tokens=2 delims=," %%F in ('tasklist /NH /FI "WINDOWTITLE eq hazelcast %CLASSPATH%" /fo csv') DO (
SET PID=%%F
)
IF NOT "%PID%"=="" (
goto alreadyrunning
)

ECHO ########################################
ECHO # RUN_JAVA=%RUN_JAVA%
ECHO # JAVA_OPTS=%JAVA_OPTS%
ECHO # starting now...."
ECHO ########################################

start "hazelcast %CLASSPATH%" "%RUN_JAVA%" %JAVA_OPTS% -cp "%CLASSPATH%" "com.hazelcast.core.server.HazelcastMemberStarter"
goto endofscript

:error
ECHO JAVA_HOME environment variable must be set!
pause

:alreadyrunning
ECHO Another Hazelcast instance (PID=%PID%) is already started in this folder. To start a new instance, please unzip the zip file in a new folder.
pause

:endofscript
start "hazelcast-imdg" "%RUN_JAVA%" %JAVA_OPTS% -cp "%CLASSPATH%" "com.hazelcast.core.server.HazelcastMemberStarter"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest the same as for the shell script - run it directly in the foreground:

"%RUN_JAVA%" %JAVA_OPTS% -cp "%CLASSPATH%" "com.hazelcast.core.server.HazelcastMemberStarter"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kept this one the same, since it is already starting on a separate window.


ENDLOCAL
25 changes: 8 additions & 17 deletions hazelcast/src/main/resources/start.sh
@@ -1,23 +1,22 @@
#!/bin/sh

PRG="$0"
PRGDIR=`dirname "$PRG"`
HAZELCAST_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
PID_FILE=$HAZELCAST_HOME/bin/hazelcast_instance.pid
PRGDIR=$(dirname "$PRG")
HAZELCAST_HOME=$(cd "$PRGDIR/.." >/dev/null; pwd)

if [ $JAVA_HOME ]
if [ "$JAVA_HOME" ]
then
echo "JAVA_HOME found at $JAVA_HOME"
RUN_JAVA=$JAVA_HOME/bin/java
RUN_JAVA="$JAVA_HOME/bin/java"
else
echo "JAVA_HOME environment variable not available."
RUN_JAVA=`which java 2>/dev/null`
RUN_JAVA=$(command -v java 2>/dev/null)
fi

if [ -z $RUN_JAVA ]
if [ -z "$RUN_JAVA" ]
then
echo "JAVA could not be found in your system."
echo "please install Java 1.6 or higher!!!"
echo "Please install Java 1.8 or higher!!!"
exit 1
fi

Expand Down Expand Up @@ -48,12 +47,4 @@ echo "# JAVA_OPTS=$JAVA_OPTS"
echo "# starting now...."
echo "########################################"

PID=$(cat "${PID_FILE}");
if [ -z "${PID}" ]; then
echo "Process ID for Hazelcast instance is written to location: {$PID_FILE}"
$RUN_JAVA -server $JAVA_OPTS com.hazelcast.core.server.HazelcastMemberStarter &
echo $! > ${PID_FILE}
else
echo "Another Hazelcast instance (PID=${PID}) is already started in this folder. To start a new instance, please unzip hazelcast-${project.version}.zip/tar.gz in a new folder."
exit 0
fi
"$RUN_JAVA" -server $JAVA_OPTS com.hazelcast.core.server.HazelcastMemberStarter
5 changes: 5 additions & 0 deletions hazelcast/src/main/resources/stop-all.bat
@@ -0,0 +1,5 @@
@echo off

REM ******* This script kills all the instances started with start.bat script.

taskkill /F /FI "WINDOWTITLE eq hazelcast-imdg"
14 changes: 14 additions & 0 deletions hazelcast/src/main/resources/stop-all.sh
@@ -0,0 +1,14 @@
#!/bin/sh

#### This script kills all the instances started with start.sh script.

PIDS=$(pgrep -f HazelcastMemberStarter)

if [ -z "$PIDS" ]; then
echo "No Hazelcast IMDG member found to stop"
exit 1
else
kill -s TERM "$PIDS"
echo "Stopped Hazelcast instances with the following PIDs:"
echo "$PIDS"
fi
7 changes: 0 additions & 7 deletions hazelcast/src/main/resources/stop.bat

This file was deleted.

21 changes: 0 additions & 21 deletions hazelcast/src/main/resources/stop.sh

This file was deleted.