@cdmonkey
2017-03-02T18:18:40.000000Z
字数 2328
阅读 1290
命令总结
http://www.ha97.com/1030.html
http://czmmiao.iteye.com/blog/1733722
https://www.howtoing.com/how-to-use-the-linux-fuser-command
fuser - identify processes using files or sockets
上面的字面意思是使用文件或套接字识别进程。就是说该指令能够显示出当前哪个程序正使用硬盘上的某个文件、挂载点、甚至网络端口,并给出对应进程的详细信息。
两个常用功能:查看我需要的进程及我要杀死我查到的进程。
fuser [-a|-s|-c] [-4|-6] [-n space ] [-k [-i] [-signal ] ] [-muvf] name ...
fuser -l
fuser -V
option | explain |
---|---|
-a |
显示所有于命令行上指定的文件。缺省情况下,只显示至少由一个进程访问的文件。 |
-c |
同-m 选项,用于POSIX 兼容。 |
-k |
发送“SIGKILL”信号到每个本地进程。仅有根用户能终止另一用户的进程。 |
-i |
要求用户于杀死指定进程前进行确认。若没有-k 选项,则该选项会被忽略掉。 |
-l |
列出全部已知的信号名。 |
-m |
指定一个文件系统内的文件或者一个已经挂载的块设备。 |
-n |
选择一个不同的命名空间。支持不同的空间文件(文件名,缺省)、本地TCP 端口及本地UDP 端口。 |
-s |
静默模式。其中-u 、-v 选项将被忽略,而-a 不能同该选项一起使用。 |
-SIGNAL |
发送该信号,用于替换掉“SIGKILL”信号。 |
-u |
于每个PID 后面显示进程拥有者的用户名称。 |
-v |
详细输出模式。而-V 则显示版本信息。 |
-4 |
使用IPV4 套接字,不能同-6 一起使用,只在使用-n 的TCP 及UDP 的命名存在时不被忽略。 |
-6 |
使用IPV6 套接字,不能同-4 一起使用,只在使用-n 的TCP 及UDP 的命名存在时不被忽略。 |
# List available signal names:
[root@yum-server ~]# fuser -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED
缺省的情况下每个文件名后面跟一个字母表示访问类型。
# Show all processes using the named filesystems:
[root@yum-server ~]# fuser -m /var/www/html
/var/www/html: 10445c 10446c
[root@yum-server ~]# fuser -um /dev/sda3
/dev/sda3: 1rce(root) 2rc(root) 3rc(root) 4rc(root) 5rc(root)...1625rce(root) 1627rce(root) 1629rce(root) 1903re(root)...23908rce(apache) 27962rce(root) 27967rce(root) 27973rc(root) 27974rc(root) 27975rc(root) 27976rc(root)...28000rce(zabbix) 28002rce(zabbix) 28003rce(zabbix) 28004rce(zabbix) 28005rce(zabbix) 28006rce(zabbix) 28021rce(root)...
29705rce(apache) 29706rce(apache) 29707rce(apache) 31109rce(root) 31177rce(root)
这个命令于umount
的时候很有用,能够找到还有哪些进程占用到这个设备了。该指令会显示使用指定文件或者文件系统的进程号,且每个进程号后面都跟有一个字母,用来显示进程如何使用文件:
c
:把文件作为当前目录使用。e
:把文件作为程序的可执行对象使用。f
:打开的文件,缺省情况下不显示。 F
:打开的文件,用于写操作。缺省情况下不显示。r
:把文件作为根目录使用。s
:把文件作为共享库(或其它可装载对象)使用。m
:映射文件或者共享库。
[root@yum-server ~]# fuser -v -n tcp 80
USER PID ACCESS COMMAND
80/tcp: apache 774 F.... httpd
root 27223 F.... httpd
apache 27225 F.... httpd
apache 27226 F.... httpd
apache 27227 F.... httpd
...
# Can also use the command below:
[root@yum-server ~]# fuser -v 80/tcp
上面执行结果中的ACCESS
表示进程对文件的访问类型。
[root@yum-server ~]# fuser -m -k -i readme
[root@yum-server ~]# fuser -mv /var/www/html/index.html
USER PID ACCESS COMMAND
/var/www/html/index.html:
root 1903 ..c.. mysqld_safe
apache 23908 ....m httpd
apache 29637 ....m httpd
apache 29638 ....m httpd
apache 29646 ....m httpd
apache 29654 ....m httpd
...
常用指令文档