pasuspender
Suspend PulseAudio while running a program
TLDR
Suspend PulseAudio while running jackd
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)


