gpt4 book ai didi

macos - 有没有一种方法可以像 Windows 中的命名互斥体一样指示跨进程在 Mac OS X 上完成的任何操作?

转载 作者:行者123 更新时间:2023-12-03 16:57:56 24 4
gpt4 key购买 nike

假设我在 Mac OS X 上创建了多个使用一个共享资源或服务的应用程序。在我的应用程序中,我想检查服务或资源是否已经以与 Windows 上使用的命名互斥体相同的方式创建,以免在任何地方创建它。在 Cocoa 中最好的方法是什么?

最佳答案

如果您只想控制对共享资源的访问,常见的 Unix/OS X 可能会创建并锁定文件 - 该文件的长度可以为零字节。

系统级方法是使用flock(手册页第2节),C级方法是使用stdio flockfile(手册页第 3 节),我认为所有框架级方法都已被弃用,但我可能是错的(Apple 似乎正在更改文件系统操作的支持方式,但在提供替代方案之前已弃用了一些方法)。

注意:文件锁定与 Finder 级锁定不同 - 前者为您提供互斥锁,后者用于防止修改。

关于macos - 有没有一种方法可以像 Windows 中的命名互斥体一样指示跨进程在 Mac OS X 上完成的任何操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15892707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com