execsnoop

Snoop new process execution. Uses DTrace.

Syntax
      execsnoop [-a|-A|-ejhsvZ] [-c command]

Key
   -a     print all data

   -A     dump all data, space delimited

   -e     safe output, parseable. This prevents the ARGS field  containing
          "\n"s, to assist postprocessing.

   -j     print project ID

   -s     print start time, us

   -v     print start time, string

   -Z     print zonename

   -c command
          command name to snoop

execsnoop prints details of new processes as they are executed. Details such as UID, PID and argument listing are printed out. This program is very useful to examine short lived processes that would not normally appear in a prstat or "ps -ef" listing. Sometimes applications will run hundreds of short lived processes in their normal startup cycle, a behaviour that is easily monitored with execsnoop.

Fields

  UID    User ID
  PID    Process ID
  PPID   Parent Process ID
  COMM   command name for the process
  ARGS   argument listing for the process
  ZONE   zonename
  PROJ   project ID
  TIME   timestamp for the exec event, us
  STRTIME timestamp for the exec event, string

Since this uses DTrace, only users with root privileges can run this command.

execsnoop will run forever until Ctrl-C is hit.

Examples

Default output, print processes as they are executed:

$ execsnoop

Print human readable timestamps:

$ execsnoop -v

Print zonename:

$ execsnoop -Z

Snoop this command only:

$ execsnoop -c ls

"It’s the way to educate your eyes. Stare. Pry, listen eavesdrop. Die knowing something. You are not here long” ~ Walker Evans

Related macOS commands

iosnoop - Snoop I/O events as they occur.
dtrace - generic front-end to the DTrace facility.
Top 10 DTrace scripts - Brandan Gregg (author of the dtrace book).


 
Copyright © 1999-2024 SS64.com
Some rights reserved