LinuxCommandLibrary

pasuspender

Suspend PulseAudio while running a program

TLDR

Suspend PulseAudio while running jackd

$ pasuspender -- [jackd --driver alsa --device hw:0]
copy

SYNOPSIS

pasuspender [options] -- COMMAND [ARGUMENTS...]

PARAMETERS

-h, --help
    Print short help text and exit.

-k, --kill
    Kill all PulseAudio client processes instead of suspending server; clients reconnect post-resume.

DESCRIPTION

pasuspender is a utility from the PulseAudio sound server suite designed to temporarily suspend PulseAudio operations while executing a specified command. This is essential for applications requiring direct hardware access, such as the JACK audio server, low-latency audio tools, or games bypassing PulseAudio via ALSA.

Upon invocation, pasuspender signals the PulseAudio daemon (via SIGUSR1) to suspend, runs the command with its arguments, monitors completion, then resumes PulseAudio (SIGUSR2). This prevents audio conflicts and underruns.

Common use cases include bridging PulseAudio with JACK: pasuspender -- jackd -R -dalsa, or running legacy apps. It ensures clean audio handoff without permanent daemon disruption.

Works only if PulseAudio runs as a per-user daemon. In system-wide mode or with PipeWire emulation, behavior varies. Not suitable for long-running processes; intended for short suspends.

CAVEATS

Requires running PulseAudio daemon; fails silently if absent or non-suspendable. Not for long-running commands. Deprecated in PipeWire era; test compatibility.

EXAMPLE

pasuspender -- jackd -d alsa
Suspends PA, starts JACK, resumes PA on exit.

MECHANISM

Sends SIGUSR1 to pulseaudio PID for suspend, SIGUSR2 for resume.

HISTORY

Introduced in early PulseAudio (pre-2010) for JACK/ALSA bridging. Maintained through PA 15.x; usage declined with PipeWire adoption since 2020.

SEE ALSO

pulseaudio(1), pactl(1), pacmd(1)

Copied to clipboard