If I run multiple programs with program & in one terminal, and then from another one start sending SIGKILL SIGINT or any other signal, will the terminal running all the processes tell me what process received what signal?
1 Answers
The terminal is not aware of the signals sent to such processes thus won't tell you anything. But if your shell has job control, it can tell you when a background job terminates (e.g. due to the signal). For instance, with bash and zsh, you need to setopt the notify option so that you get such a report immediately (instead of waiting for the next prompt).
You can also set up a SIGCHLD trap, which is executed when a background job terminates (but you won't be able to get any information on the terminated job with the trap).
In POSIX shells, you can also use wait $pid to get the exit status of some PID $pid (which will give you the signal, with possibly false positives and false negatives, depending on what the process does), with some limitations. See the wait specification for more information.
- 12,174