我们的OS X Java应用程序由MyApp.app
软件包内的shell脚本启动,从Finder启动时会获得一个奇怪的命令行参数-psn_0_989382
,但是直接从终端启动时则不会。我在哪里可以找到有关此命令行参数的信息?
答案 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重新启动以注册新版本。那么它就不应该再得到这个参数了。