使用 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 很好地同步?

Perl到InDesign CS4示例(OS X)

与 BLAS OS X 链接

运行使用 OpenGL 3.3 的 mac os x c++ 程序

在旧版 OS X 上的 OS X10.6.4 上开发的软件包的兼容性问题