Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34351
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-24 23:18
文章分类
文章存档

2014年(9)

我的朋友

分类: 嵌入式

2014-04-26 00:41:13

static inline void n_tty_receive_char(struct tty_struct *tty, unsigned char c)
n_tty.c
        signal = SIGTSTP;
        if (c == SUSP_CHAR(tty)) {
send_signal:
            isig(signal, tty, 0);
            return;
        }
当有这个按键组合的时候,内核向终端的前端进程发送SIGTSTP命令,这个命令和调试器使用的SITSTP不同,内核的注释是这么说明的
#define SIGSTOP        23    /* Stop, unblockable (POSIX).  */
#define SIGTSTP        24    /* Keyboard stop (POSIX).  */
对于这个信号,系统会将接受该信号的进程设置为STP状态,并且买一送一,还会通知父进程子进程的状态变化,不过父进程接受到的是SIGCHILD信号,在附带信息中会提示说明受到的信号是SIGTSTP。这个也是bash能够感受到自己管理的job有停止的底层基础。
阅读(1870) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~