屏幕 - 等待屏幕终止

问题描述 投票:2回答:2

我正在写一个小脚本,它会向正在运行的屏幕会话发送命令。此命令会停止屏幕但不会立即停止。我需要等待它完成才能继续使用脚本的其余部分。

这就是我停止屏幕的方式:

screen -S $SCREEN_NAME -p 0 -X stuff "`printf "stop\r"`"

我怎么能这样做?

shell wait gnu-screen terminate
2个回答
5
投票

我找到了解决方案:

您只需检查屏幕是否仍在运行并等待(sleep)一秒钟。

像这样:

while screen -list | grep -q $SCREEN_NAME
do
    sleep 1
done

1
投票

对于*nix系统,您可以在shell脚本中使用wait命令。 wait也可以采取PID,所以你可以做wait $!等待最后执行的命令在后台运行。如果您的命令没有在后台运行(命令末尾没有&),那么运行脚本将等到该命令完成

© www.soinside.com 2019 - 2024. All rights reserved.