CLI Reference
Control Pulse Endpoint from the command line for scripted deployments, troubleshooting sessions, and MDM automation.
| Argument | Description |
|---|---|
--start | Start monitoring (launches app if not running) |
--quit | Quit the app immediately |
--status | Print current status and exit |
--dashboard | Open the dashboard window |
--interval <sec> | Set collection interval (1-10 seconds, requires --start, persists to UI) |
--duration <min> | Set capture duration (0-7200 minutes, requires --start, one-shot, 0 = unlimited) |
--watch <name> | Watch a process by exact name (requires --start, case-sensitive, repeatable, one-shot) |
--clear-pins | Clear all user-pinned processes (useful for admin/MDM scripts) |
--headless | Enable headless mode (persists until --no-headless) |
--no-headless | Disable headless mode |
--license <key> | Activate with a license key |
--help | Show help message |
Example Usage
# Start monitoring with 8-hour limit
/usr/local/bin/pulse --start --duration 480
# Start with 10-second collection interval for 1 hour
/usr/local/bin/pulse --start --interval 10 --duration 60
# Watch specific processes (exact name, case-sensitive)
/usr/local/bin/pulse --start --watch "Google Chrome" --watch "zoom.us"
# Check current status
/usr/local/bin/pulse --status
# Open the dashboard
/usr/local/bin/pulse --dashboard
# Quit the app
/usr/local/bin/pulse --quit
# Clear all user-pinned processes (admin use)
/usr/local/bin/pulse --clear-pins
# Switch to headless mode (with 8-hour limit)
/usr/local/bin/pulse --headless --start --duration 480Running from Jamf or MDM Scripts
The pulse CLI wrapper at /usr/local/bin/pulse automatically handles user context elevation when run as root. This means Jamf and MDM scripts can call it directly without manual launchctl asuser handling.
Jamf Policy Script
#!/bin/bash
# Start an 8-hour monitoring session
# The pulse wrapper handles user context automatically
/usr/local/bin/pulse --start --duration 480Stop Monitoring Script
#!/bin/bash
# Quit the Pulse Endpoint app
/usr/local/bin/pulse --quitImportant Notes for Enterprise Admins
- User context handled automatically — The
/usr/local/bin/pulsewrapper detects when run as root and automatically elevates to the logged-in user context - One-shot settings —
--durationand--watchrequire--startand are cleared after monitoring begins.--durationis not MDM-managed and can always be set via CLI.--intervalpersists to the UI settings - Pinned process management — Users can pin up to 5 processes in the GUI. Admins can remotely clear all pinned processes with
--clear-pins. This works whether the app is running or not - Headless mode persists — Unlike one-shot settings,
--headlessremains enabled until explicitly disabled with--no-headless.--headlesscan be managed via MDM (MDM takes precedence when set).--watchand--durationare CLI-only - Headless requires a destination — In headless mode, monitoring only auto-starts if local storage or Splunk upload is configured. Without a destination, the app launches but won't collect
- Duration expiry — When
--durationexpires, monitoring stops automatically. The app remains running (useful for viewing collected data) but won't collect new metrics until restarted