一个简单的signal实例(c语言)

Posted 子雅陌曦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的signal实例(c语言)相关的知识,希望对你有一定的参考价值。

 1 #include <signal.h>
 2 #include <unistd.h>
 3 
 4 
 5 void sig_hander(int signum)
 6 {
 7     printf("catch the signal %d\n",signum);
 8     return ;
 9 }
10 
11 
12 int main(int argc,char **argv)
13 {
14     pid_t pid;
15     pid = getpid();
16     printf("pid[%d]\n",getpid());
17     if(signal(SIGINT,sig_hander)==SIG_ERR)
18     {
19         printf("catch error!\n");
20         return -1;
21     }
22     while(1);
23     return 0;
24 }

执行:

[email protected]:mydev/cc $ a.out
pid[8675]
^Ccatch the signal 2
^Ccatch the signal 2
^Ccatch the signal 2

以上是关于一个简单的signal实例(c语言)的主要内容,如果未能解决你的问题,请参考以下文章

Linux信号详解:signal与sigaction函数

Linux信号详解:signal与sigaction函数

Linux信号详解:signal与sigaction函数

Linux 环境下的C语言, 关于 kill 发送信号和 signal() 函数, 具体问题在以下代码的注释处

函数指针玩得不熟,就不要自称为C语言高手(函数指针是解耦对象关系的最佳利器,还有signal)

C语言代码片段