uncat(1)

πŸ“¦
version 2.1.2 Β· 2 versions
, in nixpkgs unstable, ubuntu resolute, ubuntu stonking

πŸ’– uncat(1) β€” the "read forever, chop it up, hand it off" bestie πŸ’–

General Commands Manual energy, and honestly? iconic. Let's get into it.


✨ NAME ✨

uncat β€” she continuously reads stdin and splits up the data either by timeout or by number of bytes read, so it can be processed πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

uncat [-vo] [-t seconds] [-s size] prog

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so here's the whole vibe, bestie: uncat continuously reads stdin and repeatedly processes the data either after seconds timeout, or once the maximal number of bytes size has been read. Whichever comes first, honestly.

To actually process the data, uncat starts prog and feeds the data into prog's standard input. Then prog's standard output gets redirected to standard error. And uncat never writes to standard output β€” like, ever. Not her job, not her problem. πŸ™ˆ

prog consists of one or more arguments. Simple as that.

If prog exits non-zero, uncat prints an error message, discards the data, and keeps on reading stdin. She's not gonna spiral about it. She moves on. ✨

⚠️ Heads up though: note that uncat is not crash proof. Lowkey important. Don't come for her if things go sideways.

And for the lore: uncat is used to run the socklog-notify service. 🫢


πŸ’… OPTIONS πŸ’…

  • -v β€” verbose. Print verbose messages to stderr. She's gonna talk. Let her talk. πŸ—£οΈ
  • -o β€” once. Exit on end of input. Normally uncat continues waiting for data on standard input, even on end of file β€” but with -o she's like "okay I'm done, bye." πŸ‘‹
  • -t seconds β€” timeout. Set the timeout to seconds seconds. Default is 300. ⏰
  • -s size β€” Set the maximal number of bytes to size. Default is 1024. πŸ“

🌸 SIGNALS 🌸

If uncat receives a TERM signal, she starts to process the data in memory and exits as soon as possible. No drama, just efficiency. 🧚

uncat also does this on end of input, but only if the -o option was given. iykyk.


πŸ”₯ EXIT CODES πŸ”₯

  • uncat returns 0 after receiving a TERM signal. πŸŽ‰
  • uncat returns 111 on error. 😭

🌈 SEE ALSO 🌈

socklog(8), socklog-conf(8), sv(8), runsv(8), svlogd(8), tryto(1)

https://smarden.org/socklog/
https://smarden.org/runit/

πŸ‘‘ AUTHOR πŸ‘‘

Gerrit Pape <pape@smarden.org> β€” the main character who wrote this fr fr πŸ’œ


And that's the whole page, bestie β€” this was the uncat(1) entry from the General Commands Manual, and yeah, the footer just says uncat(1) right back at you because that's the section we're in. Go be iconic with it. periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from