背景 链接到标题 有时候在运行代码的时候,想要程序在接收到 Ctrl+C 指令的时候做一些平滑的处理,来写一下在 Python 和 Golang 中如何接收 Ctrl+C 指令。
Python 链接到标题 import signal import time import sys def run_program(): while True: print("Test code...") time.sleep(1) def exit_gracefully(signum, frame): signal.signal(signal.SIGINT, original_sigint) print("Receive Ctrl+C.") sys.exit(1) if __name__ == '__main__': original_sigint = signal.getsignal(signal.SIGINT) signal.signal(signal.SIGINT, exit_gracefully) run_program() Golang 链接到标题 package main import ( "fmt" "os" "os/signal" "sync" "time" ) func WaitForCtrlC() { var end_waiter sync.WaitGroup end_waiter.Add(1) var signal_channel chan os.Signal signal_channel = make(chan os.