shell源码分析之一

概述

现在需要分析,按下Ctrl+c,整个shell的处理流程。

信号

首先看下trap结构体:

1272 typedef struct trap {                                                           
1273         const char *name;       /* short name */                                
1274         const char *mess;       /* descriptive name */                          
1275         char *trap;             /* trap command */                              
1276         sig_t cursig;           /* current handler (valid if TF_ORIG_* set) */  
1277         sig_t shtrap;           /* shell signal handler */                      
1278         int signal;             /* signal number */                             
1279         int flags;              /* TF_* */                                      
1280         volatile sig_atomic_t set; /* trap pending */                           
1281 } Trap; 

信号处理函数shtrap的赋值。


版权声明:本文为chengbeng1745原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。