Bash无法完成循环

时间:2019-01-24 17:24:07

标签: node.js bash ubuntu

我正在制作此Bash脚本(请参见下文),该脚本应检查Node.JS文件是否正在运行,如果没有运行,它将重新启动该文件并继续循环。但是,当它尝试运行文件时,它不会继续。

这将在Ubuntu上运行,但目前我正在Windows 10上对其进行检查。我知道我可以使用Nodemon,但是我更愿意使用它。

在没有node %NAME的情况下,循环运行良好-因此,我猜测可能是因为一旦尝试启动Node.JS,它就不会继续运行,或者我运行的Bash节点出错,但是我看了另一个问题,看来我做对了。

任何帮助将不胜感激。谢谢

代码:

#!/bin/bash

NAME="Run.js"
RUN=`pgrep -f $NAME`

while true
do
    if [ "$RUN" == "" ]; then
        echo "Script is not running"
        node $NAME
    else
        echo "Script is running"
    fi
    sleep 5
done

1 个答案:

答案 0 :(得分:1)

针对研究案例  避免节点阻止脚本 您需要做的就是添加&

new FormControl()
话虽这么说,还有更好的选择来保持  脚本正在运行,我建议您作为
@P Burke提到要阅读有关PM2 http://pm2.keymetrics.io/

 node $NAME &