[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