Visualizer for processes and their interconnections
Project description
sysgraph
Real-time process-graph visualizer that discovers running OS processes, their inter-process communication channels (pipes, Unix domain sockets, TCP/UDP network connections), and renders them as an interactive force-directed graph in the browser.
Features
- Process discovery — enumerates all running OS processes and their parent-child relationships
- IPC visualization — discovers pipes, Unix domain sockets, and TCP/UDP connections between processes
- Interactive graph — force-directed graph rendered in the browser with zoom, pan, drag, and search
- Real-time — fetch the latest process graph on demand via the web UI
- Fuzzy search — find processes by name, PID, command line, or any property
- Adjacency filtering — right-click a node to show only its neighbors
- Configurable — tune d3 force parameters, colors, and filters via the settings panel
- Export/Import — save and load graph snapshots as JSON
Requirements
- Linux (relies on
/procfilesystem and thesscommand) - Python ≥ 3.12
- Root/sudo recommended for full visibility into all processes
Installation
pip install sysgraph
Usage
# Start the web server (default: http://localhost:8000)
sysgraph
# Specify a custom port
sysgraph --port 9000
# Or run as a module
python -m sysgraph
Open your browser to the displayed URL to see the interactive process graph.
For full visibility into all processes and their connections, run with elevated privileges:
sudo sysgraph
Docker
docker run --rm -it --pid=host --net=host gubenkoved/sysgraph
The --pid=host and --net=host flags allow the container to see host processes and network connections.
How It Works
- The FastAPI backend uses
psutiland Linux-specific APIs (/proc,ss) to discover processes, pipes, Unix domain sockets, and network connections. - It builds a graph of processes (nodes) and their IPC channels (edges).
- The browser frontend fetches the graph via
GET /api/graphand renders it using force-graph with d3 physics simulation.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sysgraph-0.0.11.tar.gz.
File metadata
- Download URL: sysgraph-0.0.11.tar.gz
- Upload date:
- Size: 157.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b6a76747732a9b4f5891e811da16b87fd44d764dc5b6aedd276427bfad5fca2
|
|
| MD5 |
ed080869e84241b4d23b771b6df84352
|
|
| BLAKE2b-256 |
b663b2b990077e9c6f2fbb1b25a2a28f49980432ff09ddba45870088c410ed0d
|
File details
Details for the file sysgraph-0.0.11-py3-none-any.whl.
File metadata
- Download URL: sysgraph-0.0.11-py3-none-any.whl
- Upload date:
- Size: 156.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4659b49568024105c40c0764059bc2f4bf6869b227daa3561e8ede22d669e0e2
|
|
| MD5 |
c00d13e541b7a25d71125d2df7b31a4b
|
|
| BLAKE2b-256 |
c5ad72ddd6dfc25dbba373dd18f51cc7b0f21c761ae440dd07f00d67625e33b8
|