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

标签 swift macos cocoa terminal

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

关于如何杀死mac应用程序的问题很多,但似乎没有一个适用于终端mac应用程序。

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

NSApplication.sharedApplication().terminate(0)

kill(getppid(), SIGKILL);

但它们都没有真正关闭窗口。谁能指出我正确的方向,或者这是否可能?

最佳答案

简单的执行:

exit(0);

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

您不应该在 GUI 应用程序中这样做,因为在退出之前会绕过任何旨在保存用户数据的东西,但这是终端中的正确功能。

只有当您的命令行工具未在 shell 中运行时,终端窗 Eloquent 会关闭。即便如此,只有当“当 shell 退出时”设置为“关闭窗口”或“如果 shell 干净退出时关闭窗口”,Terminal 才会关闭窗口。

为退出提供的数字 0 表示您的工具已完全退出。返回一些其他数字以防止窗口关闭(并且您应该打印一条错误消息)。

关于swift - 以编程方式退出终端 Mac 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36121597/

相关文章:

Cocoa:将 IB 中的 View 设置为隐藏...无法取消隐藏它!

ios - Swift:防止 NSTimer 自动启动

ios - 将本地视频嵌入到 UIView 中

swift - ARKit 将对象放置在平面上

linux - Linux 依赖项的 Mac Firebreath 插件端口

objective-c - NSUndoManager:重做不工作

ios - WKwebview内容覆盖顶部状态栏

java - 在 Mac os 上使用 java 程序设置 mysql.jar 类路径的问题

java - 如何使用 Eclipse 使用 Java 的苹果扩展

cocoa - 是否有用于在 Mac 或 iPhone 上开发音频流客户端的库?