Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rapiz1/catp

Print the output of a running process
https://github.com/rapiz1/catp

Last synced: about 2 months ago
JSON representation

Print the output of a running process

Awesome Lists containing this project

README

        

# catp

[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/rapiz1/catp)](https://github.com/rapiz1/catp/releases)
![GitHub Workflow Status (branch)](https://img.shields.io/github/workflow/status/rapiz1/catp/Rust/main)

Print the output of *a running process*

![screenshot](docs/img/screenshot.png)

```plain
catp 0.2.0
Print the output of a running process

USAGE:
catp [OPTIONS]

ARGS:
PID of the process to print

OPTIONS:
-h, --help Print help information
-v, --verbose Print more verbose information to stderr
-V, --version Print version information
```

## Why

Sometimes a process is redirected to `/dev/null` because we don't expect to check its output.
However, we may regret that decision and don't want to restart the process.

Or we just don't know where a running process is printing to.

Then just type `catp`!

## How It Works

`catp` uses `ptrace` to intercept syscall and extracts data from the syscall `write`.
So it should work for most applications. Since it slows down the syscall, it may impact the performance of IO-sensitive applications.

`catp` requires `ptrace` privilege to run, which in most systems means root.

## Get Started

Download the binary from [release](https://github.com/rapiz1/catp/releases). The one with `gnu` should work with a really recent glibc version. If that's not working, try the `musl` one.

## Platform

Currently only x86_64 Linux is supported.