gpt4 book ai didi

node.js - Bash 中的循环未完成

转载 作者:太空宇宙 更新时间:2023-11-04 00:01:43 26 4
gpt4 key购买 nike

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

这将在 Ubuntu 上运行,但我目前正在 Windows 10 上检查它。我知道我可以使用 Nodemon,但我更喜欢使用这个。

如果没有 node %NAME,循环运行正常 - 所以我猜测这可能是因为一旦它尝试启动 Node.JS 它就不会继续,或者我正在运行 Node 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

最佳答案

研究案例 避免 Node 阻塞脚本您需要做的就是添加 &

 node $NAME &

话虽这么说,有一个更好的选择来保留 脚本运行我推荐你作为
@P Burke 提到阅读 PM2 http://pm2.keymetrics.io/

#!/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

关于node.js - Bash 中的循环未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54352250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com