[20190422]学习linux fuser.txt

[20190422]学习linux fuser.txt


--//学习fuser.实际上以前知道这个命令主要目的是umount无法文件系统使用.

--//实际上可以查看那些进程还在挂着对应的文件.

--//注意使用-k之前注意!!


--//不过今天使用遇到1个怪问题:

# fuser /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1

/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1: 37327m 47747m


--//有2个进程打开对应文件,进程37327m 47747m.

# ps -ef | egrep '3732[7]|4774[7]'

oracle   37327 37326  0 Apr19 pts/7    00:00:00 /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/sqlplus   as sysdba

oracle   37328 37327  0 Apr19 ?        00:00:00 oraclebook (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

oracle   47747     1  0 Mar11 ?        00:01:24 /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/tnslsnr LISTENER -inherit


--//有点奇怪的是,如果使用cut过滤

# fuser /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1 | cut -d":" -f2

/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1:mm

 37327 47747


--//实际上fuser的输出很奇特,过滤第1行内容通过标准错误句柄2输出的,包括数字后面的m.改写如下:

# fuser /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1 2>/dev/zero | cat ;echo -e '\r'

 37327 47747


请使用浏览器的分享功能分享到微信等