不能重启。是不是要搞个定时任务检测文件是否存在? 另外要吐槽下测试,可靠性测试为什么会有这种测试场景??
![]() | 1 F281M6Dh8DXpD1g2 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 ![]() 程序没有检测机制的情况下,会一直向之前的 fd 写入内容。所以程序不停,删除日志文件无法释放空间,必须 truncate 才能释放空间。 这是 linux 的机制,windows...删不掉 |
![]() | 5 llussy 2021-03-01 17:57:37 +08:00 ![]() cat /dev/null > filename 我清空 nginx 或 tomcat 日志时就这么搞,空间释放了,还会有新日志进去。 |
6 fndD 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 有的程序可以,有的程序不可以 |