.TH exitsnoop 8 "2019-05-28" "USER COMMANDS" .SH NAME exitsnoop \- Trace all process termination (exit, fatal signal). Uses Linux eBPF/bcc. .SH SYNOPSIS .B exitsnoop [\-h] [\-t] [\-\-utc] [\-x] [\-p PID] [\-\-label LABEL] [\-\-per\-thread] .SH DESCRIPTION exitsnoop traces process termination, showing the command name and reason for termination, either an exit or a fatal signal. It catches processes of all users, processes in containers, as well as processes that become zombie. This works by tracing the kernel sched_process_exit() function using dynamic tracing, and will need updating to match any changes to this function. Since this uses BPF, only the root user can use this tool. .SH REQUIREMENTS CONFIG_BPF and bcc. .SH OPTIONS .TP \-h Print usage message. .TP \-t Include a timestamp column. .TP \-\-utc Include a timestamp column, use UTC timezone. .TP \-x Exclude successful exits, exit( 0 ) .TP \-p PID Trace this process ID only (filtered in-kernel). .TP \-\-label LABEL Label each line with LABEL (default 'exit') in first column (2nd if timestamp is present). .TP \-\-per\-thread Trace per thread termination .SH EXAMPLES .TP Trace all process termination # .B exitsnoop .TP Trace all process termination, and include timestamps: # .B exitsnoop \-t .TP Exclude successful exits, only include non-zero exit codes and fatal signals: # .B exitsnoop \-x .TP Trace PID 181 only: # .B exitsnoop \-p 181 .TP Label each output line with 'EXIT': # .B exitsnoop \-\-label EXIT .TP Trace per thread termination # .B exitsnoop \-\-per\-thread .SH FIELDS .TP TIME-TZ Time of process termination HH:MM:SS.sss with milliseconds, where TZ is the local time zone, 'UTC' with \-\-utc option. .TP LABEL The optional label if \-\-label option is used. This is useful with the \-t option for timestamps when the output of several tracing tools is sorted into one combined output. .TP PCOMM Process/command name. .TP PID Process ID .TP PPID The process ID of the process that will be notified of PID termination. .TP TID Thread ID. .TP EXIT_CODE The exit code for exit() or the signal number for a fatal signal. .SH OVERHEAD This traces the kernel sched_process_exit() function and prints output for each event. As the rate of this is generally expected to be low (< 1000/s), the overhead is also expected to be negligible. If you have an application that has a high rate of process termination, then test and understand overhead before use. .SH SOURCE This is from bcc. .IP https://github.com/iovisor/bcc .PP Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux .SH STABILITY Unstable - in development. .SH AUTHOR Arturo Martin-de-Nicolas .SH SEE ALSO execsnoop(8)