Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rapiz1/catp
Print the output of a running process
https://github.com/rapiz1/catp
Last synced: about 4 hours ago
JSON representation
Print the output of a running process
- Host: GitHub
- URL: https://github.com/rapiz1/catp
- Owner: rapiz1
- License: gpl-3.0
- Created: 2022-07-23T12:32:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-07-27T12:28:17.000Z (over 2 years ago)
- Last Synced: 2024-11-06T16:49:31.304Z (7 days ago)
- Language: Rust
- Size: 1.01 MB
- Stars: 1,172
- Watchers: 4
- Forks: 26
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 processUSAGE:
catp [OPTIONS]ARGS:
PID of the process to printOPTIONS:
-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.