logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

exitsnoop - Trace all process termination (exit, fatal signal). Uses Linux eBPF/bcc.

Author

       Arturo Martin-de-Nicolas

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.

Examples

       Trace all process termination
              # exitsnoop

       Trace all process termination, and include timestamps:
              # exitsnoop-t

       Exclude successful exits, only include non-zero exit codes and fatal signals:
              # exitsnoop-x

       Trace PID 181 only:
              # exitsnoop-p181

       Label each output line with 'EXIT':
              # exitsnoop--labelEXIT

       Trace per thread termination
              # exitsnoop--per-thread

Fields

       TIME-TZ
              Time of process termination HH:MM:SS.sss with milliseconds, where TZ is the local time zone, 'UTC'
              with --utc option.

       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.

       PCOMM  Process/command name.

       PID    Process ID

       PPID   The process ID of the process that will be notified of PID termination.

       TID    Thread ID.

       EXIT_CODE
              The exit code for exit() or the signal number for a fatal signal.

Name

       exitsnoop - Trace all process termination (exit, fatal signal). Uses Linux eBPF/bcc.

Options

       -h     Print usage message.

       -t     Include a timestamp column.

       --utc  Include a timestamp column, use UTC timezone.

       -x     Exclude successful exits, exit( 0 )

       -p PID Trace this process ID only (filtered in-kernel).

       --label LABEL
              Label each line with LABEL (default 'exit') in first column (2nd if timestamp is present).

       --per-thread
              Trace per thread termination

Os

       Linux

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.

Requirements

       CONFIG_BPF and bcc.

See Also

execsnoop(8)

USER COMMANDS                                      2019-05-28                                       exitsnoop(8)

Source

       This is from bcc.

              https://github.com/iovisor/bcc

       Also  look  in  the bcc distribution for a companion _examples.txt file containing example usage, output,
       and commentary for this tool.

Stability

       Unstable - in development.

Synopsis

exitsnoop[-h][-t][--utc][-x][-pPID][--labelLABEL][--per-thread]

See Also