tst-signal.c

来自「一个C源代码分析器」· C语言 代码 · 共 45 行

C
45
字号
#include <ansidecl.h>#include <signal.h>#include <stdio.h>#include <stdlib.h>#include <string.h>int win = 0;voidDEFUN(handler, (sig), int sig){  printf("Received signal %d (%s).\n", sig, strsignal(sig));  win = 1;}intDEFUN_VOID(main){  if (signal(SIGTERM, handler) == SIG_ERR)    {      perror("signal: SIGTERM");      exit(EXIT_FAILURE);    }  puts("Set handler.");  printf("Sending myself signal %d.\n", SIGTERM);  fflush(stdout);  if (raise(SIGTERM) < 0)    {      perror("raise: SIGTERM");      exit(EXIT_FAILURE);    }  if (!win)    {      puts("Didn't get any signal.  Test FAILED!");      exit(EXIT_FAILURE);    }  puts("Got a signal.  Test succeeded.");  exit(EXIT_SUCCESS);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?