UNIX环境高级编程学习之第十章信号-信号的基本操作(绑定/忽略/默认/发送)
[code lang=”cpp”]/*
File: signal.c
Desc: 信号基本操作
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <signal.h>
#include <sys/types.h>
#include <unistd.h>
static void sig_int(int signo)
{
printf("Can not be interrupted !/n");
}
int main(int argc, char* argv[])
{
signal(SIGINT, sig_int); // 在sig_int函数中处理中断信号(Ctrl+C)
signal(SIGQUIT, SIG_IGN); // 忽略退出信号(Ctrl+/)
signal(SIGTSTP, SIG_DFL); // 挂起信号默认处理
kill(getpid(), SIGINT); // 向进程号为getpid(), 发送中断信号(向自己发)
raise(SIGQUIT); // 向自己发送退出信号
printf("PID=%d/n" , getpid());
while (1)
{
sleep(1);
}
return 0;
}

[/code]

发表评论