catchsig.c

来自「IEC104程序元源代码」· C语言 代码 · 共 49 行

C
49
字号
/******************************************************************************** This is the skeleton for the signal handling shutdown function - to set up   ** signal handling for SIGUSR1, just call:                                      **                                                                              **     init_sighandler( &appl_data );                                           **                                                                              **  where "appl_data" is a buffer/struct containing data that sighandler()      **  can use when it is cleaning up prior to exiting - it is OK for              **  you to call init_sighandler() with a NULL pointer - if you do, then         **  "static_pappl_data" will be NULL.                                           **                                                                              **  Add whatever code you want to the sighandler() function to perform          **  your application-specific shudown - if you were talking over the            **  network (your process called msg_init()), then do NOT forget to call the    ** "msg_delete()" function to deallocate your network resources.                ********************************************************************************/#include <stdio.h>#include <signal.h>#include <sys/types.h>void     sighandler();void init_sighandler( );/* 'static_pappl_data' is a pointer to some data you want to have available   to sighandler() when it catches SIGUSR1 *//******************************************************************************//* to catch the interrupt signal for shutdown */void init_sighandler( ){/* set up sighandler() as the signal handler for SIGUSR1 */   (void)signal( SIGUSR1, sighandler );}/******************************************************************************//* signal handler called when application catches a SIGUSR1 */void sighandler(){/* this is the skeleton for the signal handler - you may do ANY kind of   cleanup/shutdown processing you desire, just make certain that you   exit( 0 ) when you are done... */   msg_delete();   exit( 0 );}

⌨️ 快捷键说明

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