\(3.2.\)信号

1.信号接口类型

1
2
3
4
type Signal interface {
String() string
Signal()
}
  • Signal方法没有任何意义,只是作为os.Signal接口的一个标识

2.操作信号

\(a.\)识别信号

1
func Notify(c chan<- os.Signal, sig ...os.Signal)
  • 参数sig代表的参数值包含我们希望自行处理的所有信号。

  参数sig代表的参数值包含我们希望自行处理的所有信号。接收到需要自行处理的信号后,os/signal包中的程序会把它封装成syscall.Signal类型的值并放入到signal接收通道中。

\(b.\)取消信号自定义处理方式

1
func Stop(c chan<- os.Signal)

  只有把当初传递给signal.Notify函数的那个signal接收通道作为调用signal.Stop函数时的参数值,才能如愿以偿地取消掉之前的行为,否则调用`signal.Stop 函数不会起到任何作用。