我有一个在启动时运行的脚本rc.local
,我不会将输出重定向到任何地方。
当我第一次编写它时,我在 shell 中运行它,它按我预期的方式工作,并不断地将字符从标准输出倒入屏幕,因此我添加了path/to/myscript
它rc.local
并且没有再想任何事情。
最近,当我通过 SSH shell 在命令行上运行 php 脚本时,我注意到当出现连接问题时(在我的终端和 SSH 服务器之间),这意味着从 php 脚本的角度来看 stdout 无处可去,并且脚本会“卡住”,直到连接改善并且 stdout 再次开始流动。
这让我疑惑我是否应该将启动脚本的输出引导到某个地方,至少/dev/null
如果我对输出不感兴趣的话。
但主要的问题是,不这样做的后果是什么?是否有一些缓冲区会被“堵塞”并阻止脚本运行,或者输出是否会被忽略?
答案1
通常,系统启动脚本标准输出被定向到控制台设备,除非它明确地直接位于特定启动脚本的其他地方。