yujqiao/catproc

Print the output of a running process

Rust

1,190

22 commits

updated Jul 27, 2022

See the code

README

catp

GitHub release (latest SemVer) GitHub Workflow Status (branch)

Print the output of a running process

screenshot

catp 0.2.0
Print the output of a running process

USAGE:
    catp [OPTIONS] <PID>

ARGS:
    <PID>    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. 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.

yujqiao/catproc

Print the output of a running process

Rust

1,190

22 commits

updated Jul 27, 2022

See the code

README

catp

GitHub release (latest SemVer) GitHub Workflow Status (branch)

Print the output of a running process

screenshot

catp 0.2.0
Print the output of a running process

USAGE:
    catp [OPTIONS] <PID>

ARGS:
    <PID>    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. 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.

Significant stargazers

(top 24 of 29)

Hiroaki Hayashi

112 followers · starred Jul 2022

Jiahao XU

164 followers · starred Jul 2022

Tõnis Tiigi

968 followers · starred Jul 2022

Wang Ao

235 followers · starred Jul 2022