使用 perl 与正在运行的 OS X 应用程序通信 [关闭]
Posted
技术标签:
【中文标题】使用 perl 与正在运行的 OS X 应用程序通信 [关闭]【英文标题】:Communicate with a running OS X application using perl [closed] 【发布时间】:2014-04-16 20:15:05 【问题描述】:我需要使用 perl 脚本与正在运行的 OS X 应用程序(我正在开发)进行通信。该应用程序不需要与脚本进行通信。有哪些简单/干净的方法可以做到这一点?
【问题讨论】:
这个问题需要意见才能回答,因为有很多选择。意见问题在堆栈溢出时会出现问题,其中最重要的原因是:表达意见需要有合理的基础,而您给出的描述没有这样的基础。 @mah 更新了问题以澄清。 这种通信的频率如何?有效载荷的大小如何? @JoshCaswell 很小。目的是为其提供要处理的文件路径。 【参考方案1】:以下是一些可能的解决方案:
Perl 打开ZMQ 套接字,OS X 应用程序使用objective-c bindings 读取该队列 编写可以与苹果提供的NSNotificationCenter 交互的Perl XS(另见this SO discussion here)。好像有 NSNotificationCenter written in Perl here 的副本。 OSX 似乎带有一个 PerlObjC 桥,you can find more about here 您的 ObjC 应用程序侦听套接字,Perl 连接并写入它。查看一些示例 here 和 here 使用管道as described here 在 Perl 和 Objc 之间为 IPC 使用 unix 套接字(请参阅 this for objc 和 this for Perl ) 使用 UNIX 消息队列(described here in Beej's Guide) 为libdispatch(又名grand-central-dispatch)编写Perl XS bindings 或在Perl 中使用Inline::C 来访问libdispatch API【讨论】:
以上是关于使用 perl 与正在运行的 OS X 应用程序通信 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 OS X Yosemite 上的 Apache 2.4 中安装 mod_perl 2.0.9?
在 OS X 服务器上运行的 DB 可以与 iOS 上的 Core Data 很好地同步?