Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

servive

A simple, standalone terminal UI for monitoring running processes — inspired by htop, easier to use.

servive reads Linux /proc directly. It does not shell out to htop, top, ps, or any other process monitor.

Requirements

  • Linux (uses /proc)
  • Node.js ≥ 26.4.0 (OpenTUI’s native renderer needs --experimental-ffi)

Install

npm install
npm run build

Run

Development (TypeScript via tsx):

npm run dev

Production build:

npm run build
npm start

Or after build:

node --experimental-ffi dist/index.js

CLI

servive [options]

Options:
  -r, --refresh MS   Refresh interval in milliseconds (default: 1000)
  -s, --sort KEY     cpu | memory | disk | network | pid | name
  -R, --reverse      Reverse initial sort direction
  -f, --filter TEXT  Initial filter (pid, user, name, command)
  -k, --kernel       Include kernel threads
  --max-rows N       Cap rendered rows (default: 500)
  -v, --version      Print version
  -h, --help         Show help

Examples:

npm run dev -- --sort memory
npm run dev -- --filter node --refresh 500

Keyboard shortcuts

Key Action
↑ / k, ↓ / j Move selection
s Cycle sort column
r Reverse sort
/ or f Filter
Esc Clear filter / close help
t Toggle kernel threads
p Pause / resume
+ / - Faster / slower refresh
x / F9 Send SIGTERM
X Send SIGKILL
? / h Help
q / Ctrl+C Quit

Columns

Column Source
PID / USER / ST / COMMAND /proc/[pid]/stat, status, cmdline, /etc/passwd
CPU% Delta of utime+stime jiffies
MEM% VmRSS vs /proc/meminfo
DISK Rate from /proc/[pid]/io
NET Open TCP/UDP socket count (see note)

Host totals in the header come from /proc/stat, /proc/meminfo, /proc/diskstats, and /proc/net/dev.

NET note: Linux does not expose reliable per-process network byte counters through /proc alone on the host network namespace (that needs eBPF / cgroup accounting). servive shows open socket counts per process and host-wide RX/TX rates in the header.

Project layout

source/
  index.ts           Entry point
  cli/parser.ts      argparse + chalk banner
  config/defaults.ts Defaults / limits
  domain/types.ts    Shared types
  system/            /proc collectors (standalone)
  tui/               OpenTUI app, theme, rows, state
  utils/             format / sort / filter helpers

Stack

License

MIT

About

Typescript based mini htop

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages