gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

ちょっと小粋な実験

んっと…要求をぼかすとかえってわかんなくなりそうなので、事実をリアルに。


Apacheがあるです。access_logがあるです。
ぶっちゃけ…サイズが色々と半端ないことになるです。
が、下手にaccess_log触るとapacheの再起動が必要だったりして色々面倒です。


んで、まぁ、手段を色々と練っていたのですが(その辺はまた後日)。
その時にふと、割合に無茶に見える、理路整然としたお話を見かけたのです。
曰く「ファイルをmvしたらmv先のファイルに書き込みを続ける」


ほほぉ。


実験しました。結果は…C、C++(いずれもgccLinux上)、PHPで、いずれもtrue。
結局。
一度openすると、内部では多分間違いなく「inode番号*1」で管理してるです。
一方で、mvってのは「お名前欄の書き換え」であって「inodeはノータッチ」なわけです…多分(この辺厳密には未検証)。
だとすると、一度openしちまったファイルは、closeしないかぎり、お名前が違ってもOKってのはなぁんとなくうなずける挙動ではあります。inodeテーブルずれちゃうとだめだろうけど。


ちと「乱用するにゃぁ怖い」情報ですが。
その分、ピンポイントにコアな状況で結構役に立ちそう。
っちゅわけで、メモメモ。

*1:ないし相当の機能。 http://ja.wikipedia.org/wiki/Inode によれば、らヴりぃな ReiserFS君は、inodeを有していないそうなので。