9. close函數(shù)
9.1. 函數(shù)原型與參數(shù)
int close (int f i l e d e s)
關(guān)閉一個(gè)文件時(shí)也釋放該進(jìn)程加在該文件上的所有記錄鎖。當(dāng)一個(gè)進(jìn)程終止時(shí),它所有的打開文件都由內(nèi)核自動(dòng)關(guān)閉。很多程序都使用這一功能而不顯式地用c l o s e關(guān)閉打開的文件。對(duì)于對(duì)個(gè)任務(wù)同時(shí)操作該文件時(shí),需要先釋放該句柄,才能關(guān)閉。
9.2. 實(shí)現(xiàn)分析
9.2.1. 主要函數(shù)調(diào)用關(guān)系圖
sys_close (參見9.2.2 )
| ------------- filp_close (參見9.2.3)
9.2.2. 主調(diào)用函數(shù)sys_close
asmlinkage long sys_close(unsigned int fd)
{
struct file * filp;
struct files_struct *files = current->;files; // 進(jìn)程的文件指針向量表