+ -
当前位置:首页 → 问答吧 → ubuntu linux 是如何实现ctrl+c功能的

ubuntu linux 是如何实现ctrl+c功能的

时间:2011-08-16

来源:互联网

想知道在按下Ctrl+c是linux 做了什么具体事,如何做的

作者: xs767461465   发布时间: 2011-08-16

要看你指的是在什么情况下,按ctrl+c了,如果是在命令行下,会有个SIGNAL被发送

作者: xharry   发布时间: 2011-08-16

我知道有signal 发出,不如发数据时,(ctrl+c)做了什么处理,如何处理的

作者: xs767461465   发布时间: 2011-08-16

简单地比方,可能收到ctrl+c后发送SIGINT信号,然后默认的处理方式是调用exit之类的退出程序

作者: thefirstz   发布时间: 2011-08-16

引用 3 楼 thefirstz 的回复:

简单地比方,可能收到ctrl+c后发送SIGINT信号,然后默认的处理方式是调用exit之类的退出程序

关键是如何捕捉到这个信号,(ctrl+c)发出的信号id,怎么知道

作者: xs767461465   发布时间: 2011-08-16

引用 4 楼 xs767461465 的回复:

引用 3 楼 thefirstz 的回复:

简单地比方,可能收到ctrl+c后发送SIGINT信号,然后默认的处理方式是调用exit之类的退出程序

关键是如何捕捉到这个信号,(ctrl+c)发出的信号id,怎么知道

ctrl + c总是发送给某个进程的,这个进程就可以捕获啊,简单地方法是调用signal注册信号处理函数
复杂点的是调用sigaction函数

作者: thefirstz   发布时间: 2011-08-16