我的应用程序在其自己的 docker 容器中运行,需要检查位于已安装文件系统/卷上的文件是否仍由 linux dockerhost 上的另一个进程(不是此应用程序容器内的进程)打开。例如,我的应用程序应该只在 dockerhost 上的进程完成写入此文件后才开始处理输入文件。
如果我的应用程序直接在 dockerhost 上运行,“fuser”或“lsof”命令(以 root 身份运行/通过 sudo 运行)将提供所需的输出(例如,列出访问文件的进程 ID)。但是在 docker 容器中,fuser 命令(甚至以 root 身份运行)不显示任何进程。
任何在 unix 级别甚至更好的 python3 上的代码片段都会有所帮助!