111 lines
2.7 KiB
Groff
111 lines
2.7 KiB
Groff
.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)
|