查看文件被哪个进程占用 linux

查看文件被哪个进程占用 linux,第1张

使用fuser来查文件或目录被谁占用

fuser /proc

/proc:2454rc

参数:-v 显示用多信息,-u 显示用户

# fuser -uv /proc

用户 进程号 权限 命令

/proc: rtkit 2454 .rc.. (rtkit)rtkit-daemon

想要显示/proc目录下所有文件和目录被占用情况,加-m参数

# fuser -uvm /proc

用户 进程号 权限 命令

/proc: root 1311 f.... (root)rsyslogd

root 1667 f.... (root)vmtoolsd

root 2028 f.... (root)acpid

haldaemon 2040 f.... (haldaemon)hald

root 2297 F.... (root)Xorg

rtkit 2454 .rc.. (rtkit)rtkit-daemon

root 2659 f.... (root)nautilus

root 2673 f.... (root)udisks-daemon

root 2712 f.... (root)gnome-power-man

使用删除某个PID,加-k参数,加入-i,配合-k会询问用户意愿

# fuser -ki /proc

/proc:2454rc

杀死进程 2454 ? (y/N) n

管理存储设备的第一步是把设备连接到文件系统树中,这个过程叫做挂载,允许设备参与到 *** 作系统中。Linux中维护单一文件系统树,设备连接到各个结点上。其它 *** 作系统,比如说 MS-DOS 和 Windows 系统中,每个设备(例如 C:\,D:\,等)保持着单独的文件系统树。

Linux中/etc/fstab 的文件可以列出系统启动时要挂载的设备,典型的如硬盘分区。

每行由六个字段组成,如下所示:

<file system> <mount point> <type> <options><dump> <pass>

/ was on /dev/sda1/ ext4errors=remount-ro 0 1

可以使用mount命令来查看挂载的文件系统列表,执行这个不带参数的命令,将会显示一系列当前挂载的文件系统:

jeremy@ubuntu:~$ mount

/dev/sda1 on / type ext4 (rw,errors=remount-ro)

proc on /proc type proc (rw,noexec,nosuid,nodev)

sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

...

这个列表的格式是:设备 on 挂载点 type 文件系统类型(可选的)

例如,第一行所示设备/dev/sda1 作为根文件系统被挂载,文件系统类型是 ext4,并且可读可写(这个“rw”选项)。

当我插入U盘后,除了额外的一行之外,我们看到和原来一样的列表。只在列表的末尾多出来如下一行:

/dev/sdb1 on /media/jeremy/AC7F-32BE type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)

我们看到U盘已经挂载到了/media/jeremy/AC7F-32BE 上,它的文件类型是vfat。

现在我拥有U盘的设备名字,让我来卸载它,并把它重新挂载到文件系统树的另一个位置。我需要超级用户身份(使用系统相应的命令)来进行 *** 作,并且用umount来卸载光盘:

jeremy@ubuntu:~$ su -

Password:

root@ubuntu:~$ umount /dev/sdb1

下一步是创建一个新的挂载点。一个挂载点就是文件系统树中的一个目录。它没有什么特殊的。它甚至不必是一个空目录,即使把设备挂载到了一个非空目录上,你也不能看到这个目录中原来的内容,直到你卸载这个设备。我将创建一个新目录并把这个U盘挂载到一个新的挂载点上(这个 -t 选项用来指定文件系统类型),然后用umount命令卸载原挂载点:

root@ubuntu:~$ mkdir /tmp/pl

root@ubuntu:~$ mount -t vfat /dev/sdb1 /tmp/pl

root@ubuntu:~$ umount /dev/sdb1

现在来补充了解一下怎样确定设备的名称。

上面例子中的/dev/sd* 指的是SCSI 磁盘。在最近的 Linux 系统中,内核把所有类似于磁盘的设备(包括 PATA/SATA 硬盘,闪存,和 USB 存储设备,比如说可移动的音乐播放器和数码相机)都看作 SCSI 磁盘。

/dev/sr* 指的是光盘(CD/DVD 读取器和烧写器)

/dev/lp* 指的是打印机

/dev/hd* 指的是老系统中的 IDE(PATA) 磁盘。典型的主板包含两个IDE连接器或者是通道,每个连接器带有一根缆线,每根缆线上有两个硬盘驱动器连接点。缆线上的第一个驱动器叫做主设备,第二个叫做从设备。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7150761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存