![]() |
1
32
从coreutils 7.0开始,有一个
|
![]() |
2
32
关于这些重新生成的文件,有趣的是,在通过复制截断文件后,前128KB左右的大小将全部为零
理想情况下,您应该要求应用程序的供应商使用
此代码装备标准输出,因此它处于
我对它的测试有点随意,但仅仅足以让我相信它是有效的。 更简单的选择
Billy
他的笔记
answer
使用附加重定向而不是包装器(' cantrip )上面的代码。这只是为了说明,当您将一种特定技术用于其他(有效)目的时,将其适应于另一种并不一定是最简单的机制——即使它可以工作。 |
![]() |
3
13
使用>&燃气轮机;而不是>。这将允许您截断文件,而不会使文件恢复到原始大小。另外,不要忘记重定向STDERR(2>&1)。
因此,最终结果将是:
|
![]() |
4
9
尝试
|
![]() |
5
7
我在redhat v6上遇到了类似的问题,
而且修理很奇怪
将清理文件,不会导致任何问题。 |
![]() |
6
6
在Linux中(实际上,所有unicies)文件都是在打开时创建的,在没有任何文件包含对它们的引用时删除。在这种情况下,打开它的程序和它在“中”打开的目录保留对该文件的引用。当cp程序想要写入文件时,它会从目录中获取一个对该文件的引用,将长度为零的数据写入目录中存储的元数据(这是一个稍微简化的过程),并放弃句柄。然后,原始程序仍然持有原始文件句柄,将更多数据写入文件,并保存它认为应该的长度。 即使要从目录中删除文件,程序也会继续向其中写入数据(并耗尽磁盘空间),即使其他程序无法引用它。
|
![]() |
7
5
看看这个实用程序
|
![]() |
8
3
我会尝试为该日志设置一种代理/过滤器,而不是重定向到文件、重定向到进程或获取输入并写入滚动文件的东西。 也许它可以通过脚本来完成,否则你可以为此编写一个简单的应用程序(java或其他东西)。对应用程序性能的影响应该很小,但您必须运行一些测试。
Append Redirection Operator >> 我个人从未使用过,但它可能不会锁定文件。 |
![]() |
9
3
我下载并编译了最新的
跑
所有编译的实用程序都显示在“src”文件夹中。 我跑
在1.7 GB日志文件上。
使用时未更改列出的大小
谢谢你关于“截断”的提示! |
![]() |
10
2
您是否检查了任何信号的行为,如SIGHUP到第三方产品,以查看它是否将开始记录新文件?首先,将旧文件移动到永久名称。 kill-HUP[进程id] 然后它会再次开始写出来。 或者(正如Billy所建议的)可能会将应用程序的输出重定向到一个日志程序(如multilog)或Apache常用的程序(称为cronolog)。然后,在将所有内容写入初始文件描述符(file)之前,您将对其进行更细粒度的控制,这实际上就是它的全部内容。 |
![]() |
11
2
您可以通过管道将其传送到一个程序,该程序通过关闭、移动并在文件过大时打开一个新文件来自动旋转该文件,而不是将其重定向到一个文件。 |
![]() |
12
2
@流浪汉使用 ,它重用流来打开由文件名指定的文件或更改其访问模式。 如果指定了新的文件名,函数将首先尝试关闭已与流关联的任何文件(第三个参数)并解除其关联。然后,与流是否成功关闭无关,freopen打开由filename指定的文件并将其与流关联,就像fopen使用指定模式所做的那样。
|
![]() |
13
1
我通过更改stderr重定向来修复它:
|
![]() |
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 2 年前 |
![]() |
ilteris · 为什么程序在fscanf后崩溃 3 年前 |
![]() |
Peaceful · 使用fscanf读取C中具有未知行数的文件 3 年前 |
![]() |
NOCi · 如何将Tensorflow的结果记录到CSV文件 3 年前 |
![]() |
Oakzeh · 如何在字符串索引之前读取文件并删除字符 3 年前 |