从脚本 a 启动守护进程的 GNU Screen 允许调用脚本来结束

从脚本 a 启动守护进程的 GNU Screen 允许调用脚本来结束

我在嵌入式设备上有一个脚本,如果用户通过 ssh 会话登录,它会调用屏幕启动......

#!/bin/sh

SCREENRUNNING=`pgrep SCREEN`

if [ -z "$SCREENRUNNING" ]; then

    echo "Screen not running so let's start the Master session
    sleep 2
    screen -dmS Master
        sleep 2
        screen -x root/Master


else

    echo "Screen is already running let's connect to existing session"

    sleep 2
    screen -x root/Master

fi

但是,即使已分离,这也会保持调用脚本处于活动状态,直到屏幕会话退出为止。

我想要做的是让调用脚本完成并退出,同时屏幕会话保持活动状态。我尝试过守护进程化屏幕 -x 行并在屏幕 -x 行末尾添加 &,但这两种方法都无法正常工作。

有想法吗?

如果您不让脚本完成并退出,则每次重新登录设备时都会得到孤立的实例,即每次登录都会生成一个脚本实例,该实例只有在屏幕完全关闭时才会退出。

因为它是嵌入式设备,所以 nohup 不可用。

答案1

尝试在命令和 & 之前使用 nohup:

  nohup command &

相关内容