Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

truss(1) [freebsd man page]

TRUSS(1)						    BSD General Commands Manual 						  TRUSS(1)

NAME
truss -- trace system calls SYNOPSIS
truss [-facedDS] [-o file] [-s strsize] -p pid truss [-facedDS] [-o file] [-s strsize] command [args] DESCRIPTION
The truss utility traces the system calls called by the specified process or program. Output is to the specified output file, or standard error by default. It does this by stopping and restarting the process being monitored via ptrace(2). The options are as follows: -f Trace descendants of the original traced process created by fork(2), vfork(2), etc. -a Show the argument strings that are passed in each execve(2) system call. -c Do not display individual system calls. Instead, before exiting, print a summary containing for each system call: the total system time used, the number of times the call was invoked, and the number of times the call returned with an error. -e Show the environment strings that are passed in each execve(2) system call. -d Include timestamps in the output showing the time elapsed since the trace was started. -D Include timestamps in the output showing the time elapsed since the last recorded event. -S Do not display information about signals received by the process. (Normally, truss displays signal as well as system call events.) -o file Print the output to the specified file instead of standard error. -s strsize Display strings using at most strsize characters. If the buffer is larger, ``...'' will be displayed at the end of the string. The default strsize is 32. -p pid Follow the process specified by pid instead of a new command. command [args] Execute command and trace the system calls of it. (The -p and command options are mutually exclusive.) EXAMPLES
# Follow the system calls used in echoing "hello" $ truss /bin/echo hello # Do the same, but put the output into a file $ truss -o /tmp/truss.out /bin/echo hello # Follow an already-running process $ truss -p 34 SEE ALSO
kdump(1), ktrace(1), ptrace(2) HISTORY
The truss command was written by Sean Eric Fagan for FreeBSD. It was modeled after similar commands available for System V Release 4 and SunOS. BSD
May 12, 2009 BSD

Check Out this Related Man Page

dtruss(1m)							   USER COMMANDS							dtruss(1m)

NAME
dtruss - process syscall details. Uses DTrace. SYNOPSIS
dtruss [-acdeflhoLs] [-t syscall] { -p PID | -n name | command } DESCRIPTION
dtruss prints details on process system calls. It is like a DTrace version of truss, and has been designed to be less intrusive than truss. Of particular interest is the elapsed times and on cpu times, which can identify both system calls that are slow to complete, and those which are consuming CPU cycles. Since this uses DTrace, only users with root privileges can run this command. OPTIONS
-a print all details -b bufsize dynamic variable buffer size. Increase this if you notice dynamic variable drop errors. The default is "4m" for 4 megabytes per CPU. -c print system call counts -d print relative timestamps, us -e print elapsed times, us -f follow children as they are forked -l force printing of pid/lwpid per line -L don't print pid/lwpid per line -n name examine processes with this name -o print on-cpu times, us -s print stack backtraces -p PID examine this PID -t syscall examine this syscall only EXAMPLES
run and examine the "df -h" command # dtruss df -h examine PID 1871 # dtruss -p 1871 examine all processes called "tar" # dtruss -n tar run test.sh and follow children # dtruss -f test.sh run the "date" command and print elapsed and on cpu times, # dtruss -eo date FIELDS
PID/LWPID Process ID / Lightweight Process ID RELATIVE relative timestamps to the start of the thread, us (microseconds) ELAPSD elapsed time for this system call, us CPU on-cpu time for this system call, us SYSCALL(args) system call name, with arguments (some may be evaluated) DOCUMENTATION
See the DTraceToolkit for further documentation under the Docs directory. The DTraceToolkit docs may include full worked examples with ver- bose descriptions explaining the output. EXIT
dtruss will run forever until Ctrl-C is hit, or if a command was executed dtruss will finish when the command ends. AUTHOR
Brendan Gregg [Sydney, Australia] SEE ALSO
procsystime(1M), dtrace(1M), truss(1) version 0.80 Jun 17, 2005 dtruss(1m)
Man Page