Pueue: A Robust Command-Line Tool for Managing Shell Commands

Summary
Pueue is an efficient command-line task management tool designed for sequential and parallel execution of long-running shell commands. It operates as a daemon, ensuring tasks continue processing even after you log out, and offers features like flexible scheduling, task grouping, and easy output inspection. Built with Rust, Pueue provides a reliable and cross-platform solution for personal task automation.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
Pueue is a powerful and user-friendly command-line task management tool written in Rust, designed to streamline the execution of your shell commands. It acts as a queue manager, allowing you to add, schedule, and manage long-running tasks efficiently, whether they need to run sequentially or in parallel.
A key feature of Pueue is its daemon-based operation. This means that once a task is added to the queue, it will continue to be processed in the background, even if you close your terminal or disconnect from an SSH session. This ensures uninterrupted execution of your workflows. Pueue is considered feature-complete and offers cross-platform support for Linux, macOS, and Windows.

Installation
Pueue offers several convenient ways to get started. The preferred method is often through your system's package manager, which typically handles service files and shell completions automatically.
Alternatively, you can download prebuilt binaries for Linux, macOS, and Windows directly from the Pueue Releases page.
For Rust developers, installation via Cargo is straightforward:
cargo install --locked pueue
You can also build Pueue from source by cloning the repository and using Cargo. For detailed instructions on all installation methods, please refer to the official Installation Guide.
Examples
Using Pueue is intuitive. To add a command to your queue, simply use pueue add:
pueue add 'long_running_script.sh --option value'
You can check the status of your tasks and the queue at any time with:
pueue status
To follow the real-time output of a running task, similar to tail -f, use the follow subcommand:
pueue follow <task_id>
Pueue provides a wide range of commands for managing tasks, including start, pause, kill, edit, and group. For a comprehensive guide on how to leverage all of Pueue's features, visit the Get started with Pueue wiki page.
Why Use Pueue?
Pueue excels as a personal task management assistant, particularly for users who frequently run long or resource-intensive commands. Its daemon architecture frees you from needing an active terminal session, making it ideal for compiling large projects, running data processing scripts, or performing backups.
Compared to terminal multiplexers, Pueue offers distinct advantages by providing a centralized, persistent queue system with robust features like task scheduling, dependency management, and crash recovery. It ensures consistency by saving the queue to disk, so your tasks survive system crashes.
It's important to note what Pueue is not: it's not designed as a heavy-duty, programmable, or distributed task scheduler for multi-user environments. Its focus remains on human interaction and simplicity for a single user, making it an excellent tool for personal productivity and managing your daily command-line workflows.