Trapping signals in a Swift command line application
问题 How to capture different signals such as SIGINT and SIGTERM in Swift correctly? For example, when people stop my script by pressing Control - C , I want to do some cleanup before terminating it. 回答1: Dispatch Sources can be used to monitor UNIX signals. Here is a simple example, a Swift 3 translation of the C code in the "Monitoring Signals" section from the Concurrency Programming Guide. import Dispatch // or Foundation signal(SIGINT, SIG_IGN) // // Make sure the signal does not terminate