启动时运行的脚本的输出去哪里了?

启动时运行的脚本的输出去哪里了?

我有一个在启动时运行的脚本rc.local,我不会将输出重定向到任何地方。

当我第一次编写它时,我在 shell 中运行它,它按我预期的方式工作,并不断地将字符从标准输出倒入屏幕,因此我添加了path/to/myscriptrc.local并且没有再想任何事情。

最近,当我通过 SSH shell 在命令行上运行 php 脚本时,我注意到当出现连接问题时(在我的终端和 SSH 服务器之间),这意味着从 php 脚本的角度来看 stdout 无处可去,并且脚本会“卡住”,直到连接改善并且 stdout 再次开始流动。

这让我疑惑我是否应该将启动脚本的输出引导到某个地方,至少/dev/null如果我对输出不感兴趣的话。

但主要的问题是,不这样做的后果是什么?是否有一些缓冲区会被“堵塞”并阻止脚本运行,或者输出是否会被忽略?

答案1

通常,系统启动脚本标准输出被定向到控制台设备,除非它明确地直接位于特定启动脚本的其他地方。

相关内容