国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
linux umount 提示"device is busy" 終極解決方法 無法卸載分

linux umount 提示"device is busy" 終極解決方法 無法卸載分

為了干凈地關閉或熱交換 UNIX 或類 UNIX 系統(tǒng)上的存儲硬件,必須能夠卸載使用此設備上的存儲的所有文件系統(tǒng)。但是,如果正在使用文件系統(tǒng)中的文件或目錄,就無法卸載它。lsof 和 fuser 命令可以幫助您識別并終止那些正在使用存儲設備上的文件或從存儲設備執(zhí)行的進程。使用這些命令有助于尋找那些阻止存儲設備卸載的進程,減少麻煩,讓您能夠繼續(xù)處理更重要的系統(tǒng)管理任務。

所有計算機操作系統(tǒng)都在引導時檢查它們掛載的文件系統(tǒng)是否是一致的,也就是說,確認它們的內部數據結構和映射到的相關存儲沒有錯誤。UNIX、Linux 和其他類 UNIX 操作系統(tǒng)采用一種聰明的方法檢查文件系統(tǒng)的一致性(通常使用 fast 命令)。當這些系統(tǒng)掛載文件系統(tǒng)時,它們在文件系統(tǒng)頭中設置一個值,把文件系統(tǒng)標為 DIRTY,這意味著它正在使用,在向它寫入更新時可能暫時處于不一致的狀態(tài)。在系統(tǒng)關閉期間卸載文件系統(tǒng)時,把它們標為 CLEAN。在重新引導系統(tǒng)時,只需要檢查仍然標為 DIRTY 的文件系統(tǒng)的一致性。

在系統(tǒng)關閉過程中,會自動地卸載文件系統(tǒng),這通常在終止所有非系統(tǒng)進程之后進行。但是,卸載文件系統(tǒng)仍然可能失敗并顯示以下消息:

在這里,busy 意味著一個進程正在寫這個文件系統(tǒng)或者進程是從它運行的。在這兩種情況下,都無法卸載文件系統(tǒng),這是計算機系統(tǒng)的基本規(guī)則之一。如果不采用這個規(guī)則,可以在進程正在寫文件系統(tǒng)包含的文件時卸載文件系統(tǒng),就會讓文件處于不一致的狀態(tài),而文件系統(tǒng)本身標為 CLEAN。

umount 命令的標準 Linux 版本包含一個延遲卸載選項 -l,它有助于卸載正在使用的文件系統(tǒng)。這個命令需要 Linux 內核 2.4.11 或更高版本,目前這通常沒問題。執(zhí)行 umount -l /name/of/file system 可以讓指定的文件系統(tǒng)與系統(tǒng)的目錄層次結構脫離,讓新進程不能使用這個文件系統(tǒng),然后當正在訪問它的所有進程都終止時卸載它。這很方便,但是當需要馬上卸載文件系統(tǒng)時它并不合適。

如果需要馬上卸載文件系統(tǒng),而文件系統(tǒng)報告忙碌,還有其他辦法。如果您是系統(tǒng)的惟一用戶,那么只需終止阻止文件系統(tǒng)卸載的進程。這需要查看所有窗口,尋找并終止正在寫這個分區(qū)或使用它作為當前工作目錄的暫停的進程或后臺進程。但是,在有許多本地用戶和遠程用戶的多用戶系統(tǒng)上,這種方法是不實際的。幸運的是,開放源碼社區(qū)提供了一些命令,可以輕松地識別并終止這些進程。

用 lsof 尋找打開的文件

lsof (list open files) 命令列出特定的文件系統(tǒng)、目錄或設備上所有打開的文件以及與它們相關聯(lián)的進程。在大多數 UNIX 和類 UNIX 系統(tǒng)上都可以使用 lsof 命令。

在默認情況下,lsof 命令列出當前打開的所有文件、共享庫和目錄,并提供盡可能多的相關信息。即使在負載很輕的系統(tǒng)上,這個命令的輸出也非常長,因此通常通過命令行參數指定一個目錄名,或者使用管道篩選它的輸出。例如,假設希望卸載掛載在 /opt2目錄上的文件系統(tǒng)。為了查看與 /opt2 目錄相關聯(lián)的所有進程,應該執(zhí)行下面所示的命令。

需要終止所有這些進程,然后才能卸載 /opt2 分區(qū)。因為這個列表中的進程都不能寫任何文件,所以可以使用 kill 命令并指定第二列中列出的進程 ID (PID) 以終止它們,然后就可以順利地卸載分區(qū)。注意,PID 23402 與最后兩行相關聯(lián) — 第一行表示 more 命令以 /opt2 作為當前工作目錄 (cwd),第二行表示 more 命令打開了 /opt2/resume.txt 文件。

但是,假設 lsof 命令的輸出像下面這樣。

前三個與 /opt2 目錄相關聯(lián)的命令與前面一樣,但是后兩個命令是由另一個用戶運行的。其中的 emacs 命令用于編輯文件,所以可以讓 USER 列中列出的用戶保存文件并退出,然后終止這個進程。

lsof 命令還有許多選項,可以幫助您識別不同類型的文件系統(tǒng)上打開的文件和目錄、打開了網絡套接字的進程、正在使用特定的庫的進程等等。lsof 命令的缺點是,必須聯(lián)系用戶并要求他們終止某些進程,或者自己手工終止它們。fuser 命令更復雜,但是更強大,在作為根用戶運行時可以替您執(zhí)行許多進程終止工作。

用 fuser 尋找用戶進程

fuser (find user processes) 命令也是一個開放源碼應用程序,可以幫助您識別阻止文件系統(tǒng)卸載的進程。fuser 命令尋找與作為命令行參數指定的文件、目錄或文件系統(tǒng)相關聯(lián)的進程。本文主要關注對文件系統(tǒng)掛載點使用 fuser。關于 fuser 命令的更多信息,請參見它的在線參考信息。fuser 命令要求系統(tǒng)支持 /proc 文件系統(tǒng)。因此,在所有 Linux 發(fā)行版和 FreeBSD 系統(tǒng)上都可以使用它。關于獲得 fuser 命令的源代碼的方法請參見 參考資料。

與 lsof 命令一樣,作為命令行參數提供文件系統(tǒng)掛載點名稱是使用 fuser 命令識別阻止文件系統(tǒng)卸載的進程的最簡單方法:

fuser 命令的輸出指出正在使用指定掛載點的進程的 PID。每個 PID 后面有一個字母,它表示與 PID 相關聯(lián)的進程以什么方式使用指定的掛載點。最常見的字母是前面示例所示的 c,這表示指定的進程使用此文件系統(tǒng)上的一個目錄作為當前工作目錄。

但是,fuser 命令的默認輸出不便于最終用戶使用,即使按 Linux 標準來看也是如此。fuser 命令提供一個 -v 選項,它在 fuser 命令的輸出中增加一些與標準 ps 命令相似的輸出,如下面所示。

這更方便,因為它至少指出了進程是什么程序。在通過 fuser 命令獲得 PID 信息之后,可以在終止進程之前結合使用標準的 ps 和 egrep 命令了解盡可能詳細的相關信息,如下面所示

然后,可以使用標準的 kill 命令手工終止指定的進程,或者像下一節(jié)中解釋的,使用 fuser 命令的一些高級功能自動地終止它們。

用 fuser 終止進程

在通過參數指定掛載點時,fuser 命令的 -k 選項會自動地終止找到的進程。當然,必須作為根用戶執(zhí)行 fuser 命令,才能終止屬于其他用戶的進程,如下面所示

在這里,第二個進程 (emacs) 是第一個進程 (bash shell) 的子進程,因此在 fuser 命令殺死第一個進程時它就會終止。

如果希望指定底層物理設備名,而不是它包含的文件系統(tǒng)的掛載點,那么還必須指定 -m 選項,如下面所示

第一個命令返回的輸出符合預期,因為它引用文件系統(tǒng)的掛載點。第二個命令表明,不能使用標準的 fuser 選項直接查詢底層設備。第三個命令說明,-m 選項允許直接指定設備??梢栽诘谝粋€和第三個命令中添加 -k 選項,從而終止與 /dev/sdb1 設備上的文件系統(tǒng)相關聯(lián)的進程。

有時候,為了應對一些緊急情況或者刪除掛載的 CD-ROM 或 DVD 等設備,Linux 或 UNIX 系統(tǒng)管理員需要卸載分區(qū)。在由于設備忙系統(tǒng)不允許刪除它的情況下,檢查系統(tǒng)上的所有進程是一個很煩人、很緩慢的過程。lsof 和 fuser 命令有助于識別阻止文件系統(tǒng)卸載的進程。如果情況非常緊急,fuser 命令甚至可以替您終止它們。

http://www.linuxso.com/linuxxitongguanli/836.html

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
解決類似umount target is busy掛載盤卸載不掉問題
提示“無法卸載卷(分區(qū))”的解決方法
卸載 (unmount)/退出檔案系統(tǒng)
umount 報錯 the device is found by lsof(8) or fuser(1)
「干貨」Linux磁盤分區(qū)及文件系統(tǒng)格式化和掛載,入門必看
liunx命令
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服