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 + -
显示快捷键?