/run/systemd/sessions/c1.ref
#
随
便抓
个项
目!就是
这个
好了!
来测试
一下!
[root@study ~]#
fuser
-
uv /run/systemd/sessions/c1.ref
USER PID ACCESS COMMAND
/run/systemd/sessions/c1.ref:
root 763 f.... (root)systemd
-
logind
root 5450 F.... (root)gdm
-
se
ssion
-
wor
#
通常系
统
的
FIFO
文件
都
会
放置到
/run
底下,透
过这个
方式
来
追
踪该
文件
被存取的
process
!
#
也能
够晓
得系
统
有多忙碌啊!呵呵!
如何?很有趣的一个指令吧!透过这个
fuser
我们可以找出使用该文件、目录的½程,½以观察的啦!
他的重点与
ps, pstree
不同。
fuser
可以让我们了½到某个文件
(
或文件系统
)
目前正在被哪些½程
所利用!
.
lsof
:列出被½程所开启的
文件
档名
相对于
fuser
是由文件或者装置去找出使用该文件或装置的½程,反过来说,如何查出某个½程开启
或者使用的文件与装置呢?呼呼!那就是使用
lsof
啰~
[root@study ~]#
lsof [
-
aUu] [+d]
选项
与
参数
:
-
a
:多
项数
据需要『同
时
成立』才
显
示出
½
果
时
!
-
U
:
½
列出
Unix like
系
统
的
socket
文件
类
型;
-
u
:后面½
username
,列出
该
使用者相
关½
程所
开启
的
文件
;
+d
:后面½目
录
,亦即找出某
个
目
录
底下已
经
被
开启
的
文件
!
范例一:列出目前系
统
上面所有已
经
被
开启
的
文件
与
装
置:
[root@study ~]#
lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,0 4096 128 /
systemd 1 root rtd DIR 253,0 4096 128 /
systemd 1
root txt REG 253,0 1230920 967763 /usr/lib/systemd/systemd
....(
底下省略
)....
#
注意到了
吗
?是的,在
预设
的情
况
下,
lsof
会½
目前系
统
上面已
经开启
的
#
文件
全部列出
来
~所以,
画
面多的
吓
人啊!您可以注意到,第一
个
文件
systemd
执
行的
#
地方就在根目
录
,而根目
录
,嘿嘿!所在的
inode
也有
显
示出
来
喔!
范例二:
½
列出
关
于
root
的所有
½
程
开启
的
socket
文件
[root@study ~]#
lsof
-
u root
-
a
-
U
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 3u unix 0xffff8800b7756580 0t0 13715 socket
systemd 1 root 7u unix 0xffff8800b7755a40 0t0 1902
@/org/freedesktop/systemd1/notify
systemd 1 root 9u unix 0xffff8800b7756d00 0t0 1903 /run/systemd/private