进程死锁不响应信号

进程死锁不响应信号


问题现象

线上发现一个进程的某个端口没有监听,进程很久没有重启了。

排查过程

线上进程会每日重启,发送重启信号有漏掉该进程?

使用strace 命令跟踪重启命令,发现命令有kill 重启信号至该进程,只是该进程没有响应该信号

查看进程 status cat /proc/pid/status

进程没有处于不可中断睡眠状态 D,

查看进程 stack cat /proc/pid/stack 处于futex_wait 状态

进程 信号掩码集也正常

kill -15 该进程也没有响应,直接使用gdb -p 该进程, 发现产生了进程死锁,在信号处理函数里面调用了thread_unsafe 函数 有可能死锁 也有可能coredump

#0  0x00007f19d72c4eec in __lll_lock_wait_private () from /lib64/libc.so.6
#1  0x00007f19d724205d in _L_lock_14730 () from /lib64/libc.so.6
#2  0x00007f19d723f163 in malloc () from /lib64/libc.so.6
#3  0x00007f19d724594a in strdup () from /lib64/libc.so.6
#4  0x00007f19d726ec51 in tzset_internal () from /lib64/libc.so.6
#5  0x00007f19d726f613 in __tz_convert () from /lib64/libc.so.6
#6  0x000000000043b3b8 in _db_print ()
#7  0x0000000000493dfa in XXX ()
#8  0x000000000049dad8 in death ()
#9  <signal handler called>
#10 0x00007f19d723c4e2 in _int_malloc () from /lib64/libc.so.6
#11 0x00007f19d723fb64 in calloc () from /lib64/libc.so.6
#12 0x00000000004bd57a in xcalloc ()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
知识点: 1.实时系统和分时系统的区别,举几个实时系统的例子 2.操作系统主要功能和基本特征,三种基本操作系统类型。 3.进程的组成和PCB作用,进程三种基本状态 4.进程和线程区别,进程和程序的区别 5.进程同步和互斥。(可能有大题) 6.若P、V操作的信号量S初值为6,当前值为-1,则表示? 7.某系统中有7个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数。 8.文件系统采用多级目录结构的作用。 9.最佳,最差,首次适应算法的特点。(可能有大题) 10.段式存储管理和页式存储管理的逻辑地址结构,地址变化,访问时间。(可能有大题) 11.分页和分段的区别(三点) 12.最佳置换算法,先进先出,LRU算法、clock置换算法的特点,以及如何进行置换。(可能有大题) 13.缓冲的作用。 14.spooling系统是一种虚拟设备的技术。 15.绝对路径名、相对路径名,当前目录。 16.在各种进程调度算法中,若所有进程同时到达,则平均周转时间最短的算法是最短进程优先。证明一下。几种算法:先来先服务,短作业优先,优先级,最高响应比优先,时间片轮转(可能有大题) 17.什么是零头?各种存储管理方式中的零头问题。 18.虚拟存储器的定义和特点。 19.死锁避免。(可能有大题),参考P128页题目31。 20.死锁预防方法 21.磁盘访问时间。磁盘调度算法。(可能有大题) 22.IO软件层次:四层,理解设备独立性 23.如果inode结点中采用索引存储管理方式,如何计算文件最大长度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值