我有一个crontab命令设置如下
* / 2 * * * * cd dir&& dir / keepalive.ksh qa>> /var/log/test/keepalive.log
keepalive.sh脚本实际上使用' test'来调用启动脚本。执行以下脚本的参数
print "Start the following proccesses"
if [ ${ENV} == "qa" ]
then
dir="my path"
print "Start QA Server"
pm2 start ${dir}/server.js -- app-env=qa db-env=qa
fi
exit
问题:pm2命令永远不会启动进程。我也尝试使用pm2的完整路径(/ usr / local / bin / pm2),但仍然没有运气。我可以看到print语句的输出,这意味着脚本按预期执行。
知道可能出现什么问题吗?
答案 0 :(得分:1)
我之前也遇到过类似的问题,结果我需要在pm2命令前加上指向我的节点可执行文件的确切路径,像这样
/usr/local/bin/node /usr/local/bin/pm2 start myapp.js
因此,您可以尝试
/path/to/node /usr/local/bin/pm2 start ${dir}/server.js -- app-env=qa db-env=qa
需要在终端中将/path/to/node
替换为which node
的输出。