不能重启。是不是要搞个定时任务检测文件是否存在? 另外要吐槽下测试,可靠性测试为什么会有这种测试场景??
1
liprais 2021-03-01 17:34:36 +08:00
不能
|
2
dorothyREN 2021-03-01 17:37:17 +08:00
你可以删除以后在创建一个文件
|
3
sdrzlyz 2021-03-01 17:46:36 +08:00
@dorothyREN ...不管用吧?新旧文件的 fd 不一样
|
4
Vegetable 2021-03-01 17:50:09 +08:00 2
程序没有检测机制的情况下,会一直向之前的 fd 写入内容。所以程序不停,删除日志文件无法释放空间,必须 truncate 才能释放空间。
这是 linux 的机制,windows...删不掉 |
5
llussy 2021-03-01 17:57:37 +08:00 1
cat /dev/null > filename 我清空 nginx 或 tomcat 日志时就这么搞,空间释放了,还会有新日志进去。
|
6
fondD 2021-03-01 17:59:46 +08:00
我喜欢用 echo '' > xx.log
|
7
keepeye 2021-03-01 18:02:22 +08:00
吐槽下测试要不要测以下 rm -rf / 看看程序是否可靠?
|
8
egzosn 2021-03-01 18:02:50 +08:00
不可以的
|
9
boris93 2021-03-01 18:04:30 +08:00 via iPhone
我记得 kill 有个信号能通知应用重新打开文件,当然最好是不要删,用 logrotate 之类的定期翻转日志,或者接入个日志管理工具比如 ELK
|
10
pkookp8 2021-03-01 18:05:35 +08:00 via Android
我见过三家公司的日志模块
每次都打开一个 fd 写入关闭 不是很理解,打开文件不耗性能吗 |
11
CallMeReznov 2021-03-01 18:06:20 +08:00
这个...日志分割不就是为了应对这种情况的嘛???
|
12
Solace202 2021-03-01 18:06:21 +08:00
true > xx.log
|
13
chenqh 2021-03-01 18:06:52 +08:00
要不直接写到 stdout, 用 supervisor 或者 systemd 来切割日志?
|
15
luxinfl OP @CallMeReznov 日志分割不是有固定大小设置麽,说实话不是很懂
|
16
dorothyREN 2021-03-01 19:24:46 +08:00
@sdrzlyz #3 有的程序可以,有的程序不可以
|