如何检测文本文件是否仍由TextEdit打开

时间:2014-01-10 09:38:58

标签: macos file-io process

使用lsof我可以知道Word仍然打开了一个docx文件,但TextEdit是如何检测文本文件(rtf,txt等)的呢?

2 个答案:

答案 0 :(得分:1)

根据this thread,您可以尝试以下方法:

命令:

  • sudo  lsof -V  | grep [filename]

  • 这对我有用,但在 TextEdit打开它之前我必须这样做

    sudo  fs_usage | grep [filename]

应用程序:

打开Sloth之后,它说这是由TextEdit打开的:

~/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.TextEdit/Data/Library/Saved Application State"

答案 1 :(得分:0)

您可以使用lsof -Vgrep -A 5 TextEdit提取文件。那么也许你可以使用pstree来识别父进程,看看它是否是TextEdit。我会尝试为你测试一个解决方案,但是今天brew的服务器似乎已经关闭了(我需要安装它)。