我有一个使用Wiremock独立JAR的新回归套件。为了确保它在服务器上运行,我有一个名为checkwiremock.sh的脚本
#!/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
手动运行时脚本按预期工作
./checkwiremock.sh
但是当开始使用Crontab时,
* * * * * /bin/bash /etc/opt/wiremock/checkwiremock.sh
Wiremock返回
由于此WireMock实例中没有存根映射,因此无法提供响应。
我可以在手动启动的进程和cron进程之间看到的唯一区别是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
无法弄清楚这里有什么问题。
服务器详情: 红帽企业Linux服务器版本6.5(圣地亚哥)
*编辑:更正了实际使用的路径
答案 0 :(得分:1)
将checkwiremock.sh中的目录更改为:
cd /path/to/shell/script