Macos 如何检测文本文件是否仍由TextEdit打开
使用lsof我可以知道docx文件仍然是通过Word打开的,但是如何检测文本文件(rtf、txt等)仍然是通过TextEdit打开的?您可以使用Macos 如何检测文本文件是否仍由TextEdit打开,macos,file-io,process,Macos,File Io,Process,使用lsof我可以知道docx文件仍然是通过Word打开的,但是如何检测文本文件(rtf、txt等)仍然是通过TextEdit打开的?您可以使用lsof-V和grep-a 5 TextEdit来打开文件。然后,也许您可以使用pstree来识别父进程,并查看它是否为TextEdit。我会尝试为您测试一个解决方案,但brew的服务器今天似乎已停机(这是我需要安装它的原因)。基于此,您可以尝试以下操作: 命令: sudolsof-V|grep[filename] 这对我很有效,但我必须在TextEd
lsof-V
和grep-a 5 TextEdit
来打开文件。然后,也许您可以使用pstree
来识别父进程,并查看它是否为TextEdit。我会尝试为您测试一个解决方案,但brew的服务器今天似乎已停机(这是我需要安装它的原因)。基于此,您可以尝试以下操作:
命令:
sudolsof-V|grep[filename]
- 这对我很有效,但我必须在TextEdit打开它之前完成:
sudo fs|u用法| grep[filename]
~/Library/Containers/com.apple.TextEdit/Data
因此,您可以尝试查看TextEdit是否在其中存储任何数据:
sudo grep-R'[filename]'~/“Library/Containers/com.apple.TextEdit/Data”
sudo grep-R[filename]~/“Library/Containers/com.apple.text编辑/Data/Library/Saved Application State”
fs_用法
fs_用法对我不起作用,当我使用此命令时,它永远不会自动退出。sloth的结果与没有sudo的lsof相同,从中你无法判断打开了哪个文件。当我使用sudo lsof-V时,我可以看到类似于“filecoord 238…aaa.rtf”的内容,如果我关闭文件,我将一无所获,而这正是我想要的。感谢fs\u用法
永远不会退出,因为它一直在监视文件访问:)