Swift:命令行工具退出回调

时间:2017-03-07 11:15:53

标签: swift command-line

我需要知道用户何时停止命令行程序从命令行程序(在终端上运行)释放一些活动的蓝牙连接,用swift编写。

假设用户调用程序然后按ctrl + Z退出。 我怎么知道?

1 个答案:

答案 0 :(得分:1)

您可以使用Swift安装信号处理程序。例如:

import Foundation

let startTime = Date()
var signalReceived: sig_atomic_t = 0

signal(SIGINT) { signal in signalReceived = 1 }

var i = 0
while true {
    if signalReceived == 1 { break }
    usleep(500_000)
    if signalReceived == 1 { break }
    i += 1
    print(i)
}

let endTime = Date()
print("Program has run for \(endTime.timeIntervalSince(startTime)) seconds")

this gist修改。