Find the answer to your Linux question:
Results 1 to 2 of 2
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Linux Newbie
    Join Date
    Jul 2005

    Unhappy Logging Signals sent to processes


    Is there a way of tracking what signals are sent to a process? Something fishy is happening with one of the programs im running:

    Program X somehow gets a SIGSEGV. It has signal handler that should (in theory) catch the signal and start dumping the stack trace. I have verified that it works when i manually send it SIGSEFV (via kill -SEGV)
    However, somewhere down the line while serving traffic, the process dies without a single line of trace in its log. Somehow in the log of the parent process, i see a process terminated segmentation fault. But why the process dies without a stack trace is beyond me.

    What i would like to know is, is there a way of tracking signals being sent to processes. For example, if the kernel could somehow log all uses of the signal / raise system call, i could know that it sent SIGKILL to my process (which caused X to die before printing stack trace), or that it didn't and the problem lies elsewhere.
    The strong shall live and the weak will die
    In the end,only the fittest survive in this world
    - Shishio Makoto

  2. #2

    Re: logging Signals...

    You might try running your application in gdb or ddd, don't put break point in or any data watch but just run it. When it dies you might get some more information out. Also, have you looked at the kernel log (dmesg)? When a process terminates badly, you can usually find the kernel logging some information there. Hope this helps.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts