信号是迫使操作系统停止其正在进行的任务并执行已为其发送中断的任务的中断。这些中断可以在操作系统(操作系统)的任何程序中暂停服务。同样,C还提供了各种可以在程序中捕获和处理的信号。这是C提供给用户使用的各种信号及其操作的列表。
该信号()函数由信号库提供,用于捕获意外的中断或事件。
语法:
信号(注册信号,信号处理器)第一个参数是一个整数,表示信号编号,第二个参数是指向信号处理函数的指针。我们必须记住,我们要捕获的信号必须使用信号函数进行注册,并且必须与信号处理函数相关联。信号处理功能应为空的类型。
示例:
#包含输入输出流
#包含信号
使用命名空间标准;
void信号处理程序(int signal _ num)}
“cout”中断信号为('信号_编号')。 n ';
//终止程序
退出(signal _ num);
}
int main(){ 0
信号(SIGABRT,signal _ handler);
//寄存器信号SIGABRT和信号处理器
虽然(真)
你好,极客们.恩德尔
返回0;
} 在无限循环中,此代码将显示输出,直到出现中断:
你好,极客们.
你好,极客们.
你好,极客们.
你好,极客们.现在,如果我们按ctrl c发送一个中断,程序将通过打印退出:
你好,极客们.
你好,极客们.
你好,极客们.
你好,极客们.
中断信号为(22)。提高()函数
提高()函数用于生成信号。
语法:
上升(信号)示例:
#包含输入输出流
#包含信号
使用命名空间标准;
void信号处理程序(int signal _ num)}
“cout”中断信号为(“signal _ num”). n ';
//终止程序
退出(signal _ num);
}
int main(){ 0
int count=0;
信号(SIGSEGV,sign _ handler);
//寄存器信号SIGSEGV和信号处理器
while(计数){ 0
你好,极客们.恩德尔
如果(计数==5)
加注(SIGGEV);
}
返回0;
} 输出:
你好,极客们.
你好,极客们.
你好,极客们.
你好,极客们.
你好,极客们.
中断信号为(11)。