Golang program to demonstrate the SIGINT signal

Here, we are going to demonstrate the SIGINT signal in Golang (Go Language).
Submitted by Nidhi, on May 08, 2021 [Last updated : March 05, 2023]

SIGINT signal in Golang

Problem Solution:

Here, we will demonstrate a SIGINT signal using the signal.Notify() function. And, we will use the syscall package to specify signal constants.

Program/Source Code:

The source code to demonstrate a SIGINT signal is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

Golang code to demonstrate the example of SIGINT signal

// Golang program to demonstrate the SIGINT signal
package main

import (
	"fmt"
	"os"
	"os/signal"
	"syscall"
)

func main() {
	sigs := make(chan os.Signal, 1)
	signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)

	fmt.Println("Waiting for signal")

	sig := <-sigs
	fmt.Println("Program ", sig)

	fmt.Println("Program finished")
}

Output:

Waiting for signal
^CProgram  interrupt
Program finished

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the required packages to predefined functions.

In the main() function, we created a channel to receive the signal. And, we specify syscall.SIGINT signal in the signal.Notify() function to accept specify signal.

Here, we press CTRL+C using the keyboard to generate SIGINT signal during program execution.

Golang Signals Programs »





Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.