查看进程使用的文件(命令:fuser、lsof、pidof) |
您所在的位置:网站首页 › 如何查看当前进程 › 查看进程使用的文件(命令:fuser、lsof、pidof) |
一、fuser命令
1.功能 查看该文件/文件系统被哪些进程所使用,重点在查看进程 2.命令格式 fuser [-umv] [-k [i] [信号]] 文件/目录相关参数与选项 -u:除了列出进程的PID之外,还列出该进程的拥有者 -m:后面接的那个文件名会主动地上提到该文件系统的最顶层,对umount不成功有效 -v:可以列出每个文件与进程还有命令的完整相关性 -k:找出使用该文件/目录的进程,并试图以-9这个信号给予该进程(就是终止正在使用这个文件的进程) -i:必须与-k配合使用,在删除PID之前会先询问使用者的意愿 信号:就是前面提到过的信号,-1、-15等,若不加的话,默认为-9 3.查看目录 查看当前目录正在被哪些进程在使用 可以看到目前的路径为dongshao用户的家目录,有一个进程在使用(bash这个进程) 4.查看文件系统 案例一:查看/proc这个目录有哪些进程在使用 第一步:查看/proc这个目录有哪些进程在使用 第二步:我们加上-m这个参数查看(可以看到有几个进程在进行/proc文件系统的读取) 案例二:查看/home这个文件系统有哪些进程正在使用(/home已经被挂在) 第一步:查看自己当前bash进程的PID号 第二步:查看一下/home这个文件系统(可以看到上面那个bash进程也在) 第三步:如果我们使用umount /home去卸载这个/home目录会提示/home is busy,不让挂载。因为有进程正在使用这个目录 第四步:我们使用fuser -mki /home去给使用/home目录的进程一个-9信号,删除这些进程,并提示你是否要删除进程。此处我们当前全选n,因为都是测试而已,不是真的要删除这些进程 5.查看文件 查看/run下面属于FIFO类型的文件,并且找出读取该文件的进程有哪些(通常系统的FIFO类型的文件都放置到/run下面,通过这个方式来追踪该文件被读取的进程) 第一步:查看/run目录下面FIFO类型的文件有哪些,并从里面随便挑选一个 第二步:从上面那些FIFO文件中随便挑选一个做测试 二、lsof命令1.功能 查看一个进程使用了哪些文件,重点在查看文件 2.命令格式 lsof [-aUu] [+d]相关参数与选项 -a:多项数据需要【同时成立】才显示出结果时使用 -U:仅列出UNIX-like修通的socket文件类型 -u:后面接用户名,列出该使用者相关所使用的文件 +d:后面接目录,即找出某个目录下面已经被使用的文件 3.演示案例 案例一:查看所有的进程,每个进程分别使用什么文件 查询的结果很多,NAME为使用的文件/目录。可以看到system系统进程使用所有的文件 案例二:查看仅root的所有进程中所使用socket文件(-a选项的使用) 因为查看的root进程所使用的文件,并且查询的是socket文件,所以需要用-a来连接。如果不用-a显示的结果可能会不正确 案例三:查看系统上面所有进程所使用的外接设备文件 案例四:查看属于root的bash这个进程所使用的文件 三、pidof命令1.功能 找出某个正在执行的进程的PID 2.命令格式 pidof [-sx] 进程名相关参数与选项 -s:仅列出一个PID而不列出所有的PID -x:同时列出该进程可能的PPID那个进程的PID 3.演示案例 案例一:查看系统上面进程的PID 查看init与rsyslogd这两个进程的PID(其中名为init的有两个进程) 案例二:查看系统上面bash进程的PID(bash有三个) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |