跳转至

信号

  • signal:关联自定义信号处理函数
  • raise:主动触发某个信号
  • void signalHandler(int):信号处理函数格式
  • 示例
#include<signal.h>
#include<stdlib.h>
#include<stdio.h>
#include<unistd.h>
void signalHandler(int sigNum){
  printf("signal is [%d]\n", sigNum);
  exit(sigNum);
}

int main(){
  signal(SIGINT, signalHandler);
  int i = 0;
  while (1)
  {
    ++i;
    printf("sleep 2 s\n");
    sleep(2);
    if(i>3){
      raise(SIGINT);
    }
  }
  return 0;
}