都市传奇:为什么最好避免使用文件描述符 5?

都市传奇:为什么最好避免使用文件描述符 5?

在回答这个问题,回答者引用了一段脚本,其中包含如下一行

exec 4>/path/to/output.file
#and a third, for reading and writing, with FD 6 (it's not recommended to use FD 5)

我认为他所指的并非专门针对这个问题的内容。更像是一般性建议,但未能提供背景信息。那么,我们为什么要尽量避免使用文件描述符 5 呢?

答案1

摘自tldp.org:I/O 重定向

使用 file descriptor 5 可能会引起问题。当 Bash 创建子进程时,与 exec 一样,子进程会继承 fd 5(请参阅 Chet Ramey 的存档电子邮件,主题:回复:文件描述符 5 保持打开状态)。最好不要管这个特定的 fd。

相关内容