说我有一个命名管道:
mypipe="foobar"
mkfifo $mypipe
echo "foo" > $mypipe
如果没有人在听,我很确定这个回音电话只是挂起。在我进行回音调用之前,有没有办法确定是否有人正在读取管道?
fuser
实用程序会告诉您谁拥有一个打开的句柄,但在一般情况下,它需要root
权限。
除非以特权运行,否则
fuser
可能只能收集部分信息。因此,可能未列出属于其他用户的进程打开的文件,并且可执行文件可能仅被分类为映射。安装
fuser
SUIDroot
将避免与部分信息相关的问题,但出于安全和隐私原因可能不合需要。