当前位置:  技术问答>linux和unix

一个signal的问题,gdb调试都无反应了

    来源: 互联网  发布时间:2017-02-04

    本文导语:  #include  #include  #include  #include  void sig_handler(int signo) {    char data[100];    int len ;    len = read(STDIN_FILENO,&data,100);    data[len]=0;    printf("This signal is : %dn",signo);    printf("%sn",data);    exit(0); } int main() {      int...

#include 
#include 
#include 
#include 
void sig_handler(int signo)
{
   char data[100];
   int len ;
   len = read(STDIN_FILENO,&data,100);
   data[len]=0;
   printf("This signal is : %dn",signo);
   printf("%sn",data);
   exit(0);
}
int main()
{  
   int oflags;
   signal(SIGINT,sig_handler);
   signal(SIGTERM,sig_handler);
   signal(SIGIO,sig_handler);
   fcntl(STDIN_FILENO,F_SETOWN,getpid());
   printf("ID:%dn",getpid());
   oflags = fcntl(STDIN_FILENO,F_GETFL);
   fcntl(STDIN_FILENO,F_SETFL,oflags|FASYNC);
   while(1);
}


Breakpoint 1 at 0x40125e: file sig.c, line 24.
(gdb) r
Starting program: /cygdrive/c/a/sig
[New Thread 9760.0x17cc]
[New Thread 9760.0x24a8]
ID:9760

Breakpoint 1, main () at sig.c:24
24         fcntl(STDIN_FILENO,F_SETFL,oflags|FASYNC);
(gdb) n
25         while(1);
(gdb) n
n
adflasjdflasfk
adflj
asdfkl
gggggh

无法退出来了。。。

|
没问题啊.

[liangdong@jx-csblog01.jx.baidu.com src]$ ./main
ID:27784
123
This signal is : 29
, len is : 4 
123


你看到len是4了么, read是底层I/O, 只认识字节, 回车也是1字节, 所以len是4.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • signal函数的定义问题?搞不懂.
  • signal函数使用出问题?
  • signal handler 问题
  • signal的处理函数问题
  • 关于signal函数的问题
  • 关于signal函数的问题,大家帮我看看
  • PPP问题fatal signal 11
  • signal函数的问题
  • Web服务器/前端 iis7站长之家
  • C/C++语言问题:(void) signal(SIGPIPE, pstat); 是什么意思?
  • alarm() 和 signal()的问题
  • g_signal_connect的问题
  • 关于linux下的signal函数的问题
  • signal处理函数中的文件操作问题
  • 留下这样一条信息:user signal 1 ,有高手知道这一般是什么出问题吗?
  • void(*signal(int signo,void(*func)(int)))(int)又有问题了
  • linux 2.4.0中do_signal参数传递问题,请大牛来解答
  • unix 中有关 signal 的问题
  • 请教个问题:Process #4764 received signal 11, suspending 是什么意思?
  • linux c 编程,signal函数的一个问题
  • java命名空间java.util.concurrent.locks接口condition的类成员方法: signal定义及介绍
  • signal 7和signal 11
  • 请教signal函数的用法!
  • 关于系统信号处理函数signal()的疑问.
  • 关于signal信号
  • signal函数定义该怎么理解?
  • 关于signal返回值是什么?
  • pending signal
  • 关于Linux驱动中signal的使用
  • about "signal"
  • 有关signal handler,请教!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3