这段时间测试应用程序,发现应用程序进程总会莫名其妙的退出,后来添加了抓取信号的函数,发现会收到SIGTERM信号,进而退出;自己在网上查了下,说可能是kill导致,可是很确定的是没有人手动kill过这个进程,不知道还有其他什么情况会导致进程收到SIGTERM信号么?多谢各位了

解决方案 »

  1.   


    是不是后台运行的进程?进程启动后需要和终端脱离关系。否则启动进程的终端关闭,就会导致进程收到SIGTERM.
      

  2.   


    是不是后台运行的进程?进程启动后需要和终端脱离关系。否则启动进程的终端关闭,就会导致进程收到SIGTERM.是的,是在后台起的
      

  3.   


    SIGTERM 可以注册处理函数,可以忽略这个信号, 
    从系统角度看想要知道是哪个进程发送的这个信号,只能从内核入手.
    这个问题关键是确定谁发的信号, 通常系统只有在关机的时候才给你发这个信号, 其他情况得查一下你的代码, 
    重点搜一下 kill函数 和 system函数(是否使用system命令执行kill 或 killall函数)