diff options
| author | Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr> | 2016-01-15 18:06:00 +0100 |
|---|---|---|
| committer | Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr> | 2016-01-15 18:06:00 +0100 |
| commit | 115babd8683614cf89da6cf8cbbba351fc6e8e9a (patch) | |
| tree | 13ea1efb79e2a60421771097f1f26d28c5b930be | |
| parent | c02d7ba8e4ca82ad89bd54f0ef48b269a7a6c17e (diff) | |
| parent | fe243c2e71771b208574c612b9a06b52ca1a509c (diff) | |
| download | rabbitmq-server-git-115babd8683614cf89da6cf8cbbba351fc6e8e9a.tar.gz | |
Merge pull request #527 from binarin/rabbitmq-server-better-startup-diagnostics
Improve diagnostics in 'rabbitmq-server' script
| -rwxr-xr-x | scripts/rabbitmq-server | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index 69c2b7ff6c..548a085434 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -38,8 +38,21 @@ case "$(uname -s)" in if [ $detached ]; then echo "Warning: PID file not written; -detached was passed." 1>&2 else - mkdir -p $(dirname ${RABBITMQ_PID_FILE}); - echo $$ > ${RABBITMQ_PID_FILE} + RABBITMQ_PID_DIR="$(dirname ${RABBITMQ_PID_FILE})" + EX_CANTCREAT=73 # Standard exit code from sysexits(2) + if ! mkdir -p "$RABBITMQ_PID_DIR"; then + # Better diagnostics - 'mkdir -p' reports only the first directory in chain that + # it fails to create + echo "Failed to create directory: $RABBITMQ_PID_DIR" + exit $EX_CANTCREAT + fi + if ! echo $$ > ${RABBITMQ_PID_FILE}; then + # Bettern diagnostics - otherwise the only report in logs is about failed 'echo' + # command, but without any other details: neither what script has failed nor what + # file output was redirected to. + echo "Failed to write pid file: ${RABBITMQ_PID_FILE}" + exit $EX_CANTCREAT + fi fi esac |
