Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果我正在编写一个用 STDOUT 的副本覆盖 STDERR 的 Perl 脚本,但我从不恢复文件句柄,那么在脚本执行结束时会发生什么?我找不到任何警告实际发生或未发生的事情。
我可能被误导了,但感谢您的耐心等待。
当一个进程退出时,内核会恢复所有使用的资源。这包括所有简单关闭的文件描述符。如果存在应用程序级缓冲区,则该缓冲区中的数据可能尚未写入内核,但否则在退出之前保持文件描述符打开是没有风险的。
如果您的 Perl 脚本以使用exec启动另一个进程结束,则该进程将继承所有文件描述符(除了在 exec 上标记为关闭的那些)。
exec