gpt4 book ai didi

c - 如何在代码中为文件大小分配软限制

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:34 25 4
gpt4 key购买 nike

我正在查看 write 的 Unix 手册页。 http://linux.die.net/man/3/write

在我的应用程序中,我将记录错误、警告和进程相关的次要信息,这些信息都写在日志文件中。我想要的是,如果文件大小变得大于 1GB,那么该进程就不能再写入该日志文件。我看到手册页讲述了这可以实现并且写入失败。

如果 write() 请求写入的字节数超过可用空间(例如,进程的文件大小限制或介质的物理末端),则只写入可用空间的字节数应写。

这是否需要与 ulimit 相关的更改?我不想在服务器级别申请,而只想在我的应用程序的进程级别申请,因此不必完全填满磁盘大小。有什么建议我应该在这里做什么?我相信解决方案同样适用于 C++。

最佳答案

您可以使用 gnu 资源使用函数来设置和获取每个进程的限制。 Gnu resource usage functions另一方面,您可以根据大小进行日志轮换。如果日志大小超过一定限制,则创建旧日志的 tar 文件并开始写入新日志。

关于c - 如何在代码中为文件大小分配软限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32872602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com