什么是用户定义的信号处理程序?
信号是发送到程序的软件中断,以指示发生了重要事件。可以通过以下两种可能的处理程序之一处理信号:
默认信号处理程序
用户定义的信号处理程序
用户定义的信号处理程序可以覆盖此默认操作,该默认操作称为处理信号。信号以不同的方式处理。有些信号(例如更改窗口的大小)将被忽略。其他(例如非法的内存访问)通过终止程序来处理。
信号处理程序函数可以具有任何名称,但必须具有返回类型void和一个int参数。
示例-我们可以为SIGCHLD信号的信号处理程序(子进程的终止)选择名称sigchld_handler。那么声明将是-
无效sigchld_handler(intsig);
传递给信号处理程序的参数是信号编号。程序员可以使用相同的信号处理函数来处理多个信号。