我想创建一个Mac服务(相当于Windows服务),它应该继续在后台运行,而我的客户端应用程序(GUI)则要传递一些参数。
你能给我一些样本/教程,清楚地解释这个。
谢谢
答案 0 :(得分:0)
以下是我刚开始为Mac服务的一个例子:
Matt Berther提交了这个方便的终端脚本来从OS X中的文件夹创建ISO映像。我知道我很快就会忘记如何做到这一点,所以我为此做了一个方便的服务。
第1步: 打开Automator<创建新的 "服务"
第2步: 搜索操作 "运行Shell脚本" 并将其拖到右侧的主面板上。
第3步:
第4步: 在脚本本身中,使用以下代码替换现有代码:
import sys
from subprocess import call
call('hdiutil makehybrid -o {0}.iso {0} -iso -joliet'.format(sys.argv[1]), shell=True)
将服务保存为"创建ISO"。退出Automator。
第5步:
使用鼠标访问: 右键单击Finder中的文件夹时,您现在应该会在菜单中看到新服务。如果您已经创建了大量服务(像我一样),那么它将嵌套在右键单击的“服务”子菜单中。
使用键盘快捷键访问: 如果这是您经常使用的服务,您可以为其分配键盘快捷键:
步骤6(可选):调试PBS [来源:A Really Old Macworld Hint]
Snow Leopard的服务有时会无缘无故地停止工作。右键单击时,上下文菜单项中缺少菜单,菜单栏中的“服务”菜单仅显示“建立...”。其他时候,同一服务可能有多个条目。这些问题总是(根据我的经验)可以在不退出或重新启动的情况下得到纠正。
技术很简单。在终端窗口中运行以下命令:
/System/Library/CoreServices/pbs
您的服务现在应该正常运作。
[crarko @Macworld补充说:对这个问题有一点点解释; pbs 实用程序是一个调试工具(按照链接,向下滚动到 '测试'在底部)与Cocoa中的Pasteboard服务相关。 运行它将强制重新扫描服务,这就是上述原因 工作。它曾在2004年的前一个提示中被提及过,所以它已经提到了 已经有一段时间了。我怀疑是否有人注意到是否有问题 提供10.6之前的服务。 Apple提到它可能会发生变化 在某些时候删除,所以不要无限期地依赖它。]