|-a||Append to the trace file instead of recreating it.|
|-C||Disable tracing on all user-owned processes, and, if executed by root, all processes in the system.|
|-c||Clear the trace points associated with the specified file or processes.|
|-d||Descendants; perform the operation for all current children of the designated processes.|
|Log trace records to trfile instead of ktrace.out.|
|Enable (disable) tracing on all processes in the process group (only one -g flag is permitted).|
|-i||Inherit; pass the trace flags to all future children of the designated processes.|
|-p pid||Enable (disable) tracing on the indicated process id (only one -p flag is permitted).|
The string argument represents the kernel trace points, one per letter.
The following table equates the letters with the tracepoints:
|c||trace system calls|
|n||trace namei translations|
|s||trace signal processing|
|+||trace the default set of trace points - c, n, i, s, u|
|Execute command with the specified trace flags.|
The -p , -g , and command options are mutually exclusive.
# trace all kernel operations of process id 34
$ ktrace -p 34
# trace all kernel operations of processes in process group 15 and # pass the trace flags to all current and future children
$ ktrace -idg 15
# disable all tracing of process 65
$ ktrace -cp 65
# disable tracing signals on process 70 and all current children
$ ktrace -t s -cdp 70
# enable tracing of I/O on process 67
$ ktrace -ti -p 67
# run the command "w", tracing only system calls
$ ktrace -tc w
# disable all tracing to the file "tracedata"
$ ktrace -c -f tracedata
# disable tracing of all user-owned processes
$ ktrace -C
The ktrace command appeared in BSD 4.4 .
Only works if trfile is a regular file.
|November 6, 2006||KTRACE (1)|