我想知道在Debian OS中删除存储设备时,udev在卸载和删除之前使用任何挂载点的进程的机制。
当我跳过删除udev规则文件中的目录时,它得到了很多进程,包括内核等。
如果有人在笔式驱动器中上传或下载时从系统中移除笔式驱动器,我想在屏幕上实现一个警告消息。
请帮帮我。
发布于 2016-07-13 08:55:48
您可以使用lsof
命令。此命令列出哪个进程正在使用哪个文件。输出包含命令、PID、用户PID、文件类型、设备、侧边、文件名等。您可以使用grep for mount point来查找谁在使用您的设备。
语法:
#lsof | grep <mount point>
或
#lsof <mount point>
另一种选择是使用fuser
命令。它显示使用给定文件/目录的进程It
语法:
#fuser <mount point >
发布于 2016-07-15 11:14:58
感谢您的回复。我是通过fuser得到的。我的问题是被用户删除后如何处理。在我的系统中,热插拔是由udev规则管理的。其显示指定文件名/media/pen-drive不存在。删除操作是ACTION==" Remove ",ENV{dir_name}!="",RUN+="/bin/sh -c '/bin/fuser -m /media/%E{dir_name'",RUN+="/bin/umount -l /media/%E{dir_name}",RUN+="/bin/rmdir /media/%E{dir_name}“
https://stackoverflow.com/questions/38343625
复制相似问题