以编程方式退出终端Mac应用程序?

时间:2016-03-21 01:00:20

标签: swift macos cocoa terminal

我有一个简单的终端应用程序,我想在它完成后关闭(实际上关闭它打开的终端实例)。

关于如何杀死mac应用程序有很多问题,但它们似乎都不适用于终端mac应用程序。

我尝试在程序结束时运行以下命令:

NSApplication.sharedApplication().terminate(0)

kill(getppid(), SIGKILL);

但他们都没有关闭窗口。任何人都能指出我正确的方向,或者这是否可能?

1 个答案:

答案 0 :(得分:1)

只需执行:

exit(0);

...将立即终止任何mac进程,终端命令行工具或完整的GUI应用程序。

您不应该在GUI应用程序中执行此操作,因为在退出之前会绕过任何旨在保存用户数据的内容,但这是终端中的正确功能。

只有在命令行工具未在shell中运行时才会关闭终端窗口。即便如此,如果“当shell退出时”被设置为“关闭窗口”或者“如果shell干净地退出则关闭窗口”,终端将仅关闭窗口。

退出时提供的数字0表示您的工具干净利落。返回其他一些数字以防止窗口关闭(你应该打印一条错误信息)。