Nukesor

pueue: Queue and Manage Shell Commands

Pueue is a Rust command-line tool for queuing long-running shell commands and controlling them through a background daemon. It suits individual users who want persistent task tracking and configurable sequential or parallel execution without relying on an active terminal session.

Stars
6.4k
Forks
166
Stars, last 16 days
+23

Our take

Health score

46/100

How it is scored
Activity
54
Community
47
Issues
55
Pull requests
28

+23 stars in the last 16 days

  • Slower to merge pull requests than 94% of the projects we track

Overview

Pueue lets you submit shell commands to a background daemon, then inspect and control their execution from another terminal. It solves the problem of managing long-running commands that would otherwise be tied to an interactive shell or scattered across terminal sessions.

It is designed as a convenient task manager for a single user, not as a distributed scheduler or a heavy-duty automation system. Use it when you want a persistent, visible queue for personal command-line work and straightforward control over task order and concurrency.

Key Features

  • Queue shell commands for sequential or parallel execution, with a configurable concurrency limit.
  • Run commands in their specified working directories, with environment variables copied when tasks are added.
  • Organize work into task groups and pause or resume groups independently.
  • Set task dependencies, reorder queued tasks, or schedule tasks for a specific time.
  • Inspect output, follow running tasks, and send input to interactive processes.
  • Persist the queue and task logs to disk so they can be restored after a crash.
  • Wait for tasks to finish, restart completed or failed tasks, and use JSON status or log output in other programs.

Use Cases

  • A developer can queue builds, tests, or other lengthy commands and check their progress later without keeping the original terminal open.
  • A researcher or analyst can manage a series of local data-processing commands, limiting how many run at once.
  • A user working over SSH can submit jobs and disconnect, then reconnect later to inspect results or control the queue.
  • Someone running several kinds of command-line work can separate tasks into groups and pause or resume each group as needed.

Getting Started

Install with Cargo:

cargo install --locked pueue

Pueue uses a client and a background daemon. See the README and getting started guide for setup and usage details.

Considerations

Pueue is intended for human-managed tasks on one machine. The project explicitly excludes distributed execution, multi-user task management, sophisticated load balancing, and extensive scripting; it is not aimed at hundreds of tasks. Its README describes the project as feature-complete, with future work focused on maintenance, bug fixes, and minor improvements. Scheduled commands run through the system shell, so shell quoting matters. The README states that Linux, macOS, and Windows are supported.

Found this useful?

Share it with someone who would like pueue.