How to Check Which Snap Apps Are Running on Ubuntu
Snap packages have become a staple of modern Ubuntu installations, but they can also leave you guessing about what’s actually active under the hood. Whether you’re troubleshooting performance, freeing up memory, or just curious, knowing which snap apps are running is surprisingly easy once you get the hang of a few commands.
Why Look at Running Snap Processes?
Snap applications run in isolated containers, each with its own set of processes. This sandboxing improves security but adds a layer of abstraction that can hide resource‑hungry services from the usual ps or top views. Spotting a rogue snap that’s hogging CPU or RAM can save you a reboot later.
Basic Command: snap services
The quickest way to list snap services that are currently active is:
snap servicesThis output shows the service name, its status (active, disabled, etc.), and the corresponding snap. For example:
Service Snap Currentsnap.modem-manager.modemmanager modem-manager active
snap.lxd.daemon lxd active
If you see “active” next to a service, it’s running in the background, even if you haven’t launched the GUI yet.
Digging Deeper with snap ps
Ubuntu 22.04 introduced snap ps, a handy wrapper that mirrors the familiar ps output but filters for snap processes only.
snap psThe result includes PID, user, and command line, making it simple to spot a misbehaving snap:
PID USER COMMAND1245 root /snap/lxd/2505/bin/lxd
2158 ubuntu /snap/spotify/60/usr/bin/spotify
Notice the “/snap/” prefix – that’s your visual cue that the process belongs to a snap.
Using systemctl for Snap Services
Since each snap service is also a systemd unit, you can query them just like any other service:
systemctl list-units --type=service | grep snapThis command returns a more detailed view, showing load state, active state, and description. It’s especially useful when a snap provides multiple services and you need to pinpoint a specific one.
Filtering by Snap Name
Sometimes you only care about a single snap, say telegram-desktop. Combine snap ps with grep:
snap ps | grep telegramOr, if you prefer systemd:
systemctl status snap.telegram-desktop.telegram-desktop.serviceBoth approaches reveal whether the app is lurking in memory, even if the window is closed.
Quick One‑Liner for Resource Checks
If you’re hunting for the biggest snap consumers, this pipeline does the trick:
ps -eo pid,comm,%cpu,%mem --sort=-%cpu | grep snap | head -n 5It lists the top five CPU‑intensive snap processes, letting you act before system slowdown becomes noticeable.
Stopping Unwanted Snap Services
Identifying a runaway snap is only half the battle; you’ll often want to stop it. Use systemctl:
sudo systemctl stop snap.snap-name.serviceReplace snap-name and service with the actual identifiers you saw in snap services. To prevent the service from starting again on boot, run:
sudo systemctl disable snap.snap-name.serviceWhen to Trust the Output
- Transient processes: Some snaps launch short‑lived helpers that appear and vanish quickly. A single snapshot may miss them.
- Multiple instances: Certain applications (e.g., browsers) can spawn several processes, each showing up separately.
- User vs. system snaps: Snap services run as
root, while user‑level snap apps appear under the regular username. Keep an eye on both.
Putting It All Together: A Mini‑Workflow
- Run
snap servicesto get a quick health check. - If something looks odd, drill down with
snap psorsystemctl. - Identify the culprit, then stop or disable it as needed.
- Re‑run the commands to confirm the change took effect.
That’s the entire loop—no need for third‑party tools or complex scripts.
Bonus Tip: Monitoring Snap Activity Over Time
For the persistently curious, a simple cron job can log snap activity daily:
*/30 * * * * /usr/bin/snap ps >> /var/log/snap-activity.logReview the log whenever you suspect a pattern, such as a nightly spike that coincides with a backup routine.
Understanding what’s running under the snap umbrella demystifies a lot of the “why is my laptop slow?” questions. With the commands above, you’ll have a clear line of sight into every containerized process, making maintenance feel less like guesswork and more like a purposeful tune‑up.