我有一个在 Debian 服务器上启动时运行的脚本。它运行得太早了,但我无法控制它什么时候发射。我可以强制脚本延迟自己的运行:
sleep 60
Run Code Online (Sandbox Code Playgroud)
...或者,或者,我可以尝试几次该操作,如下所示:
TESTRUN=0
ACTIONWORKED=0
while [ $ACTIONWORKED -eq 0 ] && [ $TESTRUN -le 5 ]; do
# run the action i want
# quick test if it worked
# if yes, set ACTIONWORKED=1
# if no, sleep 10
# increment TESTRUN
done
Run Code Online (Sandbox Code Playgroud)
测试系统是否准备就绪的更好方法是什么? 该脚本将在系统运行期间的其他时间运行,因此需要进行测试以区分“booting-can't-do-this-yet”和“not-booting-run-now”状态。我不希望它在每次脚本运行时都等待。
编辑: 感谢到目前为止的想法。如果您对已发布的内容有其他选择,请继续关注。
对于那些询问具体细节的人,我专门将他们排除在问题之外,以收集适用于一般 Linux 引导过程的答案。
假设一个“完全启动”的系统出现了登录提示(通过控制台、X 或其他任何方式)。