OS X:从Finder启动时出现奇怪的-psn命令行参数

时间:2012-04-20 07:37:37

标签: macos command-line-arguments finder

我们的OS X Java应用程序由MyApp.app软件包内的shell脚本启动,从Finder启动时会获得一个奇怪的命令行参数-psn_0_989382,但是直接从终端启动时则不会。我在哪里可以找到有关此命令行参数的信息?

2 个答案:

答案 0 :(得分:26)

Mac OS X为通过GUI启动的所有应用分配唯一的进程序列号(“PSN”)。它用于识别可执行文件的各种进程和实例。

我无法真正添加到文档中,所以最好的方法是阅读ProcessSerialNumber section of the Carbon Process Manager Reference(原始的Apple链接已经死了;这是一面镜子)。

答案 1 :(得分:0)

似乎使用Carbon API的较早的应用程序从此参数开始。如果应用程序已被更新为不再使用Carbon的版本,则可以通过以下方式从LaunchServices数据库中注销该应用程序:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -u /Applications/AppName.app/

此后,可以从Finder重新启动以注册新版本。那么它就不应该再得到这个参数了。