我正在Compute Engine上运行启动脚本,env是Ubuntu 16.04,该脚本正在运行一个屏幕,然后在屏幕内部运行一个进程。
所有回声线都打印在“串行端口1”屏幕上。
问题是,当我通过SSH进入计算机时,没有任何屏幕在运行。
我测试了每行以确保它们正常工作。
有人可以帮助我理解问题吗?
脚本:
#! /bin/bash
echo "going to sleep"
echo "starting bitcored"
screen -d -m -S testScreen 'bitcored'
echo "bitcored started"
答案 0 :(得分:0)
screen
中的进程完成后会自动关闭。要使其保持打开状态,您需要一个活动的进程。如果您正在其中运行的进程由于某种原因而结束,则可以通过在过程结束时启动交互式外壳程序来使screen
忙起来,例如:
screen -d -m -S testScreen "bitcored ; exec bash"
bash
停止运行后,此操作将开始bitcored
,而bash
停止后将关闭屏幕,这在正常情况下只能手动进行。