I have an Swing App (Java 19) running on MacBook PRO, In The App The User Opens A
Microsoft
Word .docx file for editing, I am Opening it with
Runtime.getRuntime().exec(CMD)
CMD[0] = "open";
CMD[1] = "-a";
CMD[2] = "Microsoft Word";
CMD[3] = inc.getAbsoluteFilePath(fileName);
Process p = Runtime.getRuntime().exec(CMD);
PID = p.pid();
Microsoft Word 打开文件没有任何问题。
同时,该应用程序正在监视文件的大小和最后时间戳以及 Microsoft Word 实例是否仍在运行。 (这部分在 Windows 上效果很好,因为我能够确定文件是否被锁定,但在 Mac 上则不然)
I check the PID against the
PS -elfT however I do not see the PID the Process p returned, I am Assuming it is the
PID of the "open" process and not the resulting MS Word process.
任何人都可以推荐确定用户何时发布文件的最佳方法吗 这样APP就可以处理保存的文件了。
任何帮助将不胜感激。
问候
感谢您的建议。
结果在 Mac OS 中,程序“/usr/sbin/lsof 文件的绝对路径”提供了打开的文件的结果 使用ProcessBuilder执行“/usr/sbin/lsof文件的绝对路径” 按预期工作。
我的应用程序能够检测我的应用程序在 MS Word 中打开的文件何时确实打开。
问候