启动新的屏幕会话以运行启动另一个的脚本

时间:2013-09-10 00:30:47

标签: linux node.js bash terminal

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

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

不幸的是,当我尝试从节点运行该脚本时,似乎发生了第一行是运行而我的节点应用程序关闭(因为它在该会话中运行)但是第二行没有得到执行,这是一个无赖。

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

screen -dmS ScriptRunner sh auto.sh

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

有谁知道可能出错的是什么?我是Linux和终端的新手。

1 个答案:

答案 0 :(得分:0)

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

screen -S GNode -X quit
sleep 10s  ## You can adjust this value.
screen -dmS GNode -L node server