27

我们的 OS X Java 应用程序由MyApp.app捆绑包中的 shell 脚本启动,当从 Finder 启动时会收到一个奇怪的命令行参数-psn_0_989382,但在直接从终端启动时不会。我在哪里可以找到此命令行参数适用于哪些信息?

4

2 回答 2

31

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

我没有什么可以真正添加到文档中的,所以最好的办法是阅读Carbon Process Manager Reference 的 ProcessSerialNumber 部分(原始 Apple 链接已失效;这是一面镜子)。

于 2012-04-20T07:44:21.753 回答
0

似乎使用 Carbon API 的旧应用程序是从这个参数开始的。如果应用程序已经更新到不再使用 Carbon 的版本,您可以通过以下方式从 LaunchServices 数据库中取消注册应用程序:

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

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

于 2020-05-10T11:00:01.357 回答