Ich habe eine neue Regressions-Suite, die die JAR von Wiremock Standalone verwendet. Um dies zu gewährleisten, wird auf dem Server ausgeführt wird, habe ich dieses Skript checkwiremock.sh genanntProblem beim Starten von Wiremock-Standalone unter Verwendung von Crontab
#!/bin/bash
cnt=$(ps -eaflc --sort stime | grep wiremock-standalone-2.11.0.jar |grep -v grep | wc -l)
if(test $cnt -eq 1);
then
echo "Service already running..."
else
echo "Starting Service"
nohup java -jar /etc/opt/wiremock/wiremock-standalone-2.11.0.jar --port 1324 --verbose &
fi
Das Skript wie erwartet funktioniert, wenn
./checkwiremock.sh
jedoch manuell lief bei der Verwendung von Crontab gestartet,
* * * * * /bin/bash /etc/opt/wiremock/checkwiremock.sh
Wiremock kehrt
Es konnte keine Antwort gesendet werden, da in dieser WireMock-Instanz keine Stub-Zuordnungen vorhanden sind.
Der einzige Unterschied, den ich zwischen dem manuell gestartet Prozess und cron Prozess sehen kann, ist die TTY
root 31526 9.5 3.2 1309736 62704 pts/0 Sl 11:28 0:01 java -jar /etc/opt/wiremock/wiremock-standalone-2.11.0.jar --port 1324
root 31729 22.0 1.9 1294104 37808 ? Sl 11:31 0:00 java -jar /etc/opt/wiremock/wiremock-standalone-2.11.0.jar --port 1324
Kann nicht herausfinden, was hier nicht stimmt.
Server Details: Red Hat Enterprise Linux Server Version 6.5 (Santiago)
* Edit: korrigiert Pfade zu denen tatsächlich verwendet
Groß Vielen Dank! Könnte auch die Option --root-dir enthalten java -jar /etc/opt/wiremock/wiremock-standalone-2.11.0.jar --port 1324 --root-dir/etc/opt/wiremock --verbose & – Mike