hpr4572 :: Uncommon Commands, Episode 3 - strace

An overview of how to run and read the output of the strace command.

Hosted by Deltaray on Tuesday, 2026-02-10 is flagged as Clean and is released under a CC-BY-SA license.
cli, command line, linux, uncommon commands. 1.

Listen in ogg, opus, or mp3 format. Play now:

Duration: 00:17:01
Download the transcription and subtitles.

general.

These are the commands mentioned in the You may need to use "sudo" to run these commands depending on how your system is configured.

strace uptime

strace ls 2>&1 | grep open

strace -e openat ls /

strace ls /does/not/exist

strace -o ls-trace.log ls

strace -ff -o pid12345-trace.log -p 12345

HISTORY

The original strace was written by Paul Kranenburg for SunOS and was inspired by its trace utility. The SunOS version of strace was ported to Linux and enhanced by Branko Lankester, who also wrote the Linux kernel support. Even though Paul released strace 2.5 in 1992, Branko's work was based on Paul's strace 1.5 release from 1991.

In 1993, Rick Sladkey took on the project. He merged strace 2.5 for SunOS with the second release of strace for Linux, added many features from SVR4's truss(1), and produced a ver‐ sion of strace that worked on both platforms. In 1994 Rick ported strace to SVR4 and Solaris and wrote the automatic configuration support. In 1995 he ported strace to Irix (and became tired of writing about himself in the third person).

Beginning with 1996, strace was maintained by Wichert Akkerman. During his tenure, strace development migrated to CVS; ports to FreeBSD and many architectures on Linux (including ARM, IA-64, MIPS, PA-RISC, PowerPC, s390, SPARC) were introduced.

In 2002, responsibility for strace maintenance was transferred to Roland McGrath. Since then, strace gained support for several new Linux architectures (AMD64, s390x, SuperH), bi- architecture support for some of them, and received numerous additions and improvements in system calls decoders on Linux; strace development migrated to Git during that period.

Since 2009, strace has been actively maintained by Dmitry Levin. During this period, strace has gained support for the AArch64, ARC, AVR32, Blackfin, C-SKY, LoongArch, Meta, Nios II, OpenRISC 1000, RISC-V, Tile/TileGx, and Xtensa architectures. In 2012, unmaintained and apparently broken support for non-Linux operating systems was removed. Also, in 2012 strace gained support for path tracing and file descriptor path decoding. In 2014, support for stack trace printing was added. In 2016, system call tampering was implemented.

For the additional information, please refer to the NEWS file and strace repository commit log.

Links


Comments

Subscribe to the comments RSS feed.

Comment #1 posted on 2026-01-13 07:22:35 by Ken Fallon

My future self thanks you

I'm wondering how log it will be before I use this in prod ?

Leave Comment

Note to Verbose Commenters
If you can't fit everything you want to say in the comment below then you really should record a response show instead.

Note to Spammers
All comments are moderated. All links are checked by humans. We strip out all html. Feel free to record a show about yourself, or your industry, or any other topic we may find interesting. We also check shows for spam :).

Provide feedback
Your Name/Handle:
Title:
Comment:
Anti Spam Question: What does the letter P in HPR stand for?
Are you a spammer?
Who is the host of this show?
What does HPR mean to you?