add ejabberdctl ability to check epmd names (TECH-1121)

This commit is contained in:
Christophe Romain 2010-07-20 14:05:18 +02:00
parent c237570bc2
commit 5bc9860f5d
1 changed files with 22 additions and 0 deletions

View File

@ -137,6 +137,7 @@ export EXEC_CMD
# start server
start ()
{
check_start
$EXEC_CMD "$ERL \
$NAME $ERLANG_NODE \
-noinput -detached \
@ -182,6 +183,7 @@ debug ()
# start interactive server
live ()
{
check_start
echo "--------------------------------------------------------------------"
echo ""
echo "IMPORTANT: ejabberd is going to start in LIVE (interactive) mode."
@ -338,6 +340,26 @@ stop_epmd()
epmd -names | grep -q name || epmd -kill
}
# make sure node not already running and node name unregistered
check_start()
{
epmd -names | grep -q $NODE && {
ps ux | grep -q $ERLANG_NODE && {
echo "ejabberd is already running."
exit 4
} || {
ps ux | grep beam | grep -v "grep beam" && {
echo "ejabberd node is registered, but no ejabberd process has been found."
echo "can not kill epmd as other erlang nodes are running."
echo "please stop all erlang nodes, and call 'epmd -kill'."
exit 5
} || {
epmd -kill
}
}
}
}
# allow sync calls
wait_for_status()
{