Skip to content
A Python module to open a unix socket to dump all threads' stack traces when read
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


socketconsole (c) 2011 Adam Lowry

About is just a simple library to provide stacktraces via UNIX sockets. Handy for investigating running daemons.


Requires CPython 2 or 3 (PyPy lacks sys._current_frames)

$ python install

Or copy the file into your project.

Not compatible with gevent (won't crash; produces useless output).



In your daemon:

import socketconsole
# Stores socket files in $TMPDIR/$TEMP/$TMP or /tmp
# ...or specify where to store socket file

Command Line

From the command line:

$ # Looks in $TMPDIR/$TEMP/$TMP or /tmp
$ socketreader
$ # ... or specify where socket files are
$ socketreader some/custom/path
$ # Or you can run directly
$ python some/custom/path

Cleaning Stale Files

It's not uncommon for processes to leave behind socket files (eg if the process dies unexpectedly). socketreader includes a clean option which conservatively cleans up these stale files. It won't kill socket files for PIDs which are alive, so feel free to run it at any time:

$ # For safety, the clean option requires you pass a path
$ socketreader /tmp clean
Something went wrong with that request. Please try again.