解决分区卸载问题
2009-12-01 00:00:00 来源:WEB开发网需要终止所有这些进程,然后才能卸载 /opt2 分区。因为这个列表中的进程都不能写任何文件,所以可以使用 kill 命令并指定第二列中列出的进程 ID (PID) 以终止它们,然后就可以顺利地卸载分区。注意,PID 23402 与最后两行相关联 — 第一行表示 more 命令以 /opt2 作为当前工作目录 (cwd),第二行表示 more 命令打开了 /opt2/resume.txt 文件。
但是,假设 lsof 命令的输出像 清单 2 这样。
清单 2. 与一个挂载的文件系统相关联的另一组进程
$ lsof /opt2
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 23334 wvh cwd DIR 8,17 4096 2 /opt2
more 23402 wvh cwd DIR 8,17 4096 2 /opt2
more 23402 wvh 3r REG 8,17 10095 264 /opt2/resume.txt
bash 21343 djf cwd DIR 8,17 4096 2 /opt2
emacs 21405 djf cwd DIR 8,17 4096 2 /opt2
前三个与 /opt2 目录相关联的命令与前面一样,但是后两个命令是由另一个用户运行的。其中的 emacs 命令用于编辑文件,所以可以让 USER 列中列出的用户保存文件并退出,然后终止这个进程。
定制 lsof 的输出
前一节演示了如何识别本地设备上打开的文件和目录,对于挂载的远程文件系统也很容易获得相同的信息。
为了让本文中的示例保持一致,所有命令和输出示例都引用 清单 3 所示的系统中的分区。
清单 3. 本文使用的文件系统$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 230528596 201462232 17356188 93% /
/dev/sdb1 240362656 12533532 215619324 6% /opt2
//nas.vonhagen.org/writing
100790048 75945920 197241926 80% /mnt/NAS
192.168.6.166:/mnt/disk1
714854640 386972432 291569696 58% /mnt/yellowmachine
更多精彩
赞助商链接