1.一種文件系統(tǒng)卸載方法,其特征在于,所述方法包括:
檢測目標(biāo)磁盤分區(qū)上的文件是否正在被訪問;
若有文件正在被訪問,則查找正在訪問所述文件的進(jìn)程;
殺掉所述進(jìn)程,并卸載所述目標(biāo)磁盤分區(qū)上的文件系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測目標(biāo)磁盤分區(qū)上的文件是否正在被訪問,包括:
調(diào)用umount函數(shù),向所述umount函數(shù)傳遞目標(biāo)磁盤分區(qū)的掛載點(diǎn)目錄;
若通過所述umount函數(shù)卸載所述目標(biāo)磁盤分區(qū)上的文件系統(tǒng)失敗,則檢查卸載失敗的錯誤碼errno是否為EBUSY;
其中,若所述錯誤碼errno為EBUSY,則所述目標(biāo)磁盤分區(qū)上有文件正在被訪問。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述查找正在訪問所述文件的進(jìn)程,包括:
確定/proc目錄下以數(shù)字命名的子目錄;
遍歷所述子目錄下fd目錄中的文件描述符;
判斷所述文件描述符與所述目標(biāo)磁盤分區(qū)的掛載點(diǎn)目錄的目錄名稱是否相同,若相同,則該文件描述符對應(yīng)的進(jìn)程為正在訪問所述文件的進(jìn)程。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述殺掉所述進(jìn)程,包括:
獲取所述進(jìn)程的標(biāo)識;
調(diào)用kill函數(shù),向所述kill函數(shù)傳遞所述進(jìn)程的標(biāo)識。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述卸載所述目標(biāo)磁盤分區(qū)上的文件系統(tǒng),包括:
調(diào)用umount函數(shù),向所述umount函數(shù)傳遞目標(biāo)磁盤分區(qū)的掛載點(diǎn)目錄。
6.一種文件系統(tǒng)卸載裝置,其特征在于,所述裝置包括:
檢測模塊,被配置為檢測目標(biāo)磁盤分區(qū)上的文件是否正在被訪問;
查找模塊,被配置為在所述檢測模塊的檢測結(jié)果為是的情況下,查找正在訪問所述文件的進(jìn)程;
終止模塊,被配置為殺掉所述查找模塊查找到的進(jìn)程;
卸載模塊,被配置為在所述終止模塊殺掉所述進(jìn)程后,卸載所述目標(biāo)磁盤分區(qū)上的文件系統(tǒng)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述檢測模塊,包括:
第一函數(shù)調(diào)用子模塊,被配置為調(diào)用umount函數(shù),向所述umount函數(shù)傳遞目標(biāo)磁盤分區(qū)的掛載點(diǎn)目錄;
檢查子模塊,被配置為在通過所述umount函數(shù)卸載所述目標(biāo)磁盤分區(qū)上的文件系統(tǒng)失敗的情況下,檢查卸載失敗的錯誤碼errno是否為EBUSY;
其中,若所述檢查子模塊的檢查結(jié)果為是,則所述目標(biāo)磁盤分區(qū)上有文件正在被訪問。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述查找模塊,包括:
確定子模塊,被配置為確定/proc目錄下以數(shù)字命名的子目錄;
遍歷子模塊,被配置為遍歷所述確定子模塊確定的子目錄下fd目錄中的文件描述符;
判斷子模塊,被配置為判斷所述遍歷子模塊遍歷到的文件描述符與所述目標(biāo)磁盤分區(qū)的掛載點(diǎn)目錄的目錄名稱是否相同,若相同,則該文件描述符對應(yīng)的進(jìn)程為正在訪問所述文件的進(jìn)程。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述終止模塊,包括:
標(biāo)識獲取子模塊,被配置為獲取所述進(jìn)程的標(biāo)識;
第二函數(shù)調(diào)用子模塊,被配置為調(diào)用kill函數(shù),向所述kill函數(shù)傳遞所述標(biāo)識獲取子模塊獲取到的所述進(jìn)程的標(biāo)識。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述卸載模塊,包括:
第三函數(shù)調(diào)用子模塊,被配置為調(diào)用umount函數(shù),向所述umount函數(shù)傳遞目標(biāo)磁盤分區(qū)的掛載點(diǎn)目錄。
11.一種文件系統(tǒng)卸載裝置,其特征在于,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
檢測目標(biāo)磁盤分區(qū)上的文件是否正在被訪問;
若有文件正在被訪問,則查找正在訪問所述文件的進(jìn)程;
殺掉所述進(jìn)程,并卸載所述目標(biāo)磁盤分區(qū)上的文件系統(tǒng)。