题目

假设Apache 产生的日志文件名为access_log,在apache 正在运行时,执行命令mv access_log access_log.bak,执行完后,请问新的apache 的日志会打印到哪里,为什么?

解答:

新的日志会打印在access_log.bak 中,因为apache 启动时会找access_log 文件,随时准备向文件中加入日志信息,虽然此时文件被改名,但是由于服务正在运行,因为它的inode 节点的位置没有变,程序打开的fd 仍然会指向原来那个inode,不会因为文件名的改变而改变。apache 会继续向已改名的文件中追加日志,但是若重启apache 服务,系统会检查access_log文件件是否存在,若不存在则创建。

备注

今天是每日一题陪伴大家的__第67天__,期待你的进步。

对于题目和答案的任何疑问,请在博客评论区留言。

往期题目索引

http://lidao.blog.51cto.com/3388056/1914205