Time Management Tool

Standby

Cross-platform time management for sleep, timeout, and wait operations. Full POSIX compliance and GNU coreutils compatibility with world-class terminal handling.

3
Core Commands
POSIX
Compliant
Cross
Platform
v0.1.1
Current Version

Production-Ready Features

Universal Time Parser

Flexible parsing: 5, 5.5, 1s, 1m, 1h, 1d, 1h30m45s, infinity.

Cross-Platform

Unix/Linux, macOS, and Windows with native signal handling.

Terminal Restoration

Auto-restores terminal state after killing TUI apps like vim.

Signal Escalation

Send SIGTERM, then SIGKILL after delay. Proper process management.

Native Performance

Rust compiled binary with minimal overhead.

GNU Compatible

Full GNU coreutils compatibility with extensions.

Three Core Commands

sleep

Suspend execution for a specified duration.

standby sleep 5

5 seconds

standby sleep 1m30s

1 minute 30 seconds

standby sleep infinity

Sleep forever

timeout

Run commands with time limits and signal escalation.

standby timeout 10 sleep 60

10s timeout

standby timeout -s KILL 10 cmd

Send SIGKILL

standby timeout -k 2s 10 cmd

Escalate after 2s

wait

Wait for processes to complete with optional timeout.

standby wait 1234

Wait for PID

standby wait 1234 5678

Multiple PIDs

standby wait --timeout 30s 1234

With timeout

Flexible Time Formats

5Integer seconds
5.5Floating-point seconds
1sUnit suffix (seconds)
1mMinutes
1hHours
1dDays
1h30m45sCompound format
infinityForever

World-Class Terminal Handling

Never run reset after timeout again.

  • Automatically restores terminal attributes (echo, canonical mode)
  • Restores cursor visibility after killing TUI apps (vim, less, top)
  • Handles SIGTTIN/SIGTTOU for background process terminal access
  • Uses safe process_group() API instead of unsafe pre_exec
  • No need for reset or tput cnorm after timeout

Installation

$ cargo install standby

Time Management Done Right

POSIX compliant. Cross-platform. Production ready.

Get Started on GitHub