Go 프로그램 종료 후 작업 실행
질문:
특정 실행 방법 Go 프로그램 실행이 끝나면 작업이 어떻게 되나요? 이는 특히 HTTP 서버의 정리 작업 또는 정상적인 종료 처리와 관련이 있습니다.
답변:
Unix 신호 활용
Go에서 실행 종료 작업을 처리하려면 SIGINT(생성된)와 같은 Unix 신호를 등록해야 합니다. Ctrl-C로). 이 신호는 프로그램이 종료되어야 할 때 Go 런타임에 알립니다.
코드 조각
다음 코드 조각은 인터럽트 신호를 포착하고 이전에 정리 작업을 수행하는 방법을 보여줍니다. 종료:
package main import ( "log" "os" "os/signal" ) func main() { // Create a channel to receive the interrupt signal. sigchan := make(chan os.Signal) signal.Notify(sigchan, os.Interrupt) // Start a goroutine to listen for the signal. go func() { <-sigchan log.Println("Program killed!") // Perform last actions and wait for all write operations to end. os.Exit(0) }() // Start the main program tasks. }
설명
위 내용은 Go 프로그램이 종료되기 전에 정리 작업을 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!