亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Nginx寫日志文件是什么原理

Nginx寫日志文件是什么原理

慕碼人8056858 2018-07-22 16:16:35
在做Nginx的日志文件切割,發現一個詭異的問題。當我手工把Nginx的日志文件轉移位置以后,如果不reload配置文件,Nginx還是繼續寫這個被轉移到其他目錄的日志文件。難道Nginx寫日志的時候不是通過文件路徑嗎?為什么日志文件被轉移走了還是能寫到?
查看完整描述

3 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

nginx為了更快的速度,一般都緩存了文件的inode的。

查看完整回答
反對 回復 2018-07-26
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

我覺得原因是,nginx打開的log文件之后,在系統中實際上是以inode來標識的,移動文件并不會修改inode的編號,所以還會繼續寫入該文件。

查看完整回答
反對 回復 2018-07-26
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

這是文件系統的特性,有點類似編程語言管理變量生命周期的里的引用計數。移動一個文件,甚至刪除一個文件,只要這個文件還被某個進程打開著,這個文件就還能被訪問到。但如果所有的“引用”都沒有了,例如文件名,硬鏈接(hard link)及文件句柄(不再被程序打開著),才影響對文件的下一次引用,就表現為“找不到文件了”。

查看完整回答
反對 回復 2018-07-26
  • 3 回答
  • 0 關注
  • 1705 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號