文件描述符可以保存的最长时间

文件描述符可以保存的最长时间

我正在 Linux 环境中编写一个长时间运行的程序,它将计算一个大表中的条目。每次到达行尾时,它都会将计算值输出到纯文本文件中。

为了避免不断地重新打开文件并附加到文件中,我正在考虑只打开文件一次并在程序运行期间保持打开状态。

我知道一次可以打开的文件描述符的最大数量有限制,但是单个文件描述符长时间保存是否有时间限制?


注意:我正在运行的过程可能需要一个月或更长时间才能完成。

答案1

如果我理解正确,您正在寻找建议的解决方案这里。所以,正如建议的那样回答,我想看看是否有使用的选项exec。所以,当我用谷歌搜索时linux 使用文件描述符追加, 我有用户的回答吉尔斯

所以他的答案的本质就是我相信你正在寻找的。

exec 5>/tmp/foo       # open /tmp/foo for writing, on fd 5
while true; do        # 
  echo "Hello" >&5    # write to fd 5, i.e. /tmp/foo
done                  # 

关于文件描述符可以保持打开状态的最长时间,我相信只要循环终止它就会保持打开状态,因为我们在这里没有关闭文件描述符。您可以找到有关我链接到的答案的更多信息。

相关内容