-1

我正在尝试使用 node.js 制作一个需要能够提取新更新并自行重新启动的程序。为此,我制作了一个 auto.sh 脚本,其中包含以下代码:

screen -S GNode -X quit
screen -dmS GNode -L node server

不幸的是,当我尝试从节点运行该脚本时,似乎发生的是第一行运行并且我的节点应用程序关闭(因为它正在该会话中运行)但是第二行没有被执行,这真可惜。

我最终做的是另一个名为 ScriptRunner 的屏幕会话,我使用命令运行

screen -dmS ScriptRunner sh auto.sh

但是由于某种原因,当我运行该命令然后检查打开的屏幕会话时,没有。所以第一行再次被执行,但第二行没有。这似乎不是我的节点程序的问题,因为当我直接在终端中运行最后一个命令时,会发生同样的事情。

有谁知道可能出了什么问题?我对 Linux 和终端的东西很陌生。

4

1 回答 1

0

在运行下一个会话之前尝试添加延迟:

screen -S GNode -X quit
sleep 10s  ## You can adjust this value.
screen -dmS GNode -L node server
于 2013-09-10T11:42:19.117 回答