signal

package
v12.36.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2021 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package signal provides methods for handling POSIX signals

Index

Examples

Constants

Signal codes

Variables

This section is empty.

Functions

func GetByCode

func GetByCode(code int) (syscall.Signal, error)

GetByCode returns signal with given code

func GetByName

func GetByName(name string) (syscall.Signal, error)

GetByName returns signal with given name

func Send

func Send(pid int, signal syscall.Signal) error

Send sends given signal to process

Types

type Handlers

type Handlers map[os.Signal]func()

Handlers is map signal->handler

func (Handlers) Track

func (h Handlers) Track()

Track catches signal and executes handler for this signal

Example
hupHandler := func() {
	fmt.Println("Got HUP signal")
}

usr1Handler := func() {
	fmt.Println("Got USR1 signal")
}

Handlers{
	HUP:  hupHandler,
	USR1: usr1Handler,
}.Track()
Output:

func (Handlers) TrackAsync

func (h Handlers) TrackAsync()

TrackAsync catches signal and executes async handler for this signal

Example
hupHandler := func() {
	fmt.Println("Got HUP signal")
}

usr1Handler := func() {
	fmt.Println("Got USR1 signal")
}

Handlers{
	HUP:  hupHandler,
	USR1: usr1Handler,
}.TrackAsync()

time.Sleep(time.Hour)
Output:

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL