There are a variety of ways to see all applications or programs which are running on a Mac, ranging from only seeing “windowed” apps running in the graphical front end, to revealing even the most obscure system-level processes and tasks running at the core of OS X. We’ll cover five different ways to view these running apps and processes in Mac OS X, some of which are very user friendly and applicable to all users, and some of which are more advanced methods accessible from the command line. Take the time to learn them all, and you can then use the method most appropriate for your needs.
At a Glance: Looking at the Dock
The simplest way to see what apps are running at the moment is to just glance at the OS X Dock. If you see a little glowing dot under the application icon, it’s open and running.
Though there’s nothing wrong with using this approach, it’s obviously a bit limited since it only shows what are called “windowed” apps – that is, apps that are running in the GUI front end of Mac OS X – and it’s also limited in that you can’t take direct action with them. Additionally, those little glowing indicators are small and not that obvious, and many people don’t notice them at all. Fortunately, there are better ways to see what’s running on a Mac, and also be able to take direct action if there is a need to quit an app or two.
See All Running Applications / Programs with Forceable Quit Menu
Hit Command+Option+Escape to summon the basic “Force Quit Applications” window, which can be thought of as a simple task manager for Mac OS X. This shows an easy to read list of all active applications running in OS X, and what’s visible here is exactly the same as what you’d see in the Dock:
Despite the windows name, you can use this to view actively running programs and apps without actually quitting them.
One obvious advantage to the Command+Option+ESC menu is that it allows you to actually take action on running apps directly, letting you force quit them if they have become errant or are shown in red font, which signifies they are not responding or are crashing. This simplified version is fairly similar to the basic “Control+ALT+DELETE” manager that exists initially in the modern Windows world.
The primary limitation with the Force Quit Menu is that, like the Dock indicators, it is limited to revealing only the “windowed apps” that are actively running in Mac OS X, thus skipping over things like menu bar items and background apps.
View All Running Apps & Processes with Activity Monitor
The most powerful app and process management utility in the OS X GUI, Activity Monitor is a powerful task manager that will reveal not only all running and active applications, but also all active and inactive processes. This includes quite literally everything running on the Mac, including the aforementioned windowed apps, and even background applications (those not visible as running in the Dock or the Force Quit menu), menu bar items, system level processes, processes running under different users, inactive processes, service daemons, quite literally anything and everything that is running as a process in OS X at any level.
The app itself resides in /Applications/Utilities/, but it’s also easy to launch it through Spotlight by hitting Command+Spacebar and typing “Activity” followed by the Return key.
A way to simplify all of the information initially shown in Activity Monitor is to pull down the Process submenu and select according to what you’re looking for, like “All Processes”, “My Processes”, “System Processes”, or “Other User Processes”, among the other options. The “Search” feature is also easy to use and quite powerful, since you can start typing the name of something and it instantly updates according to which processes match the query.
Activity Monitor offers a ton of tools and options, and it’s easily the most advanced way to view extended information about all active processes without jumping into the command line. It let’s you quit processes, kill applications (kill is basically the same as force quitting), inspect and sample processes, sort processes by names, PID, user, CPU, threads, memory usage, and kind, filter processes by user and level, and also search through processes by name or character. Furthermore, Activity Monitor will also reveal general usage stats about CPU, memory, disk activity, and network activity, making it an essential troubleshooting utility for determining everything from inadequate RAM levels to diagnosing why a Mac could be running slow based on the myriad of other possibilities.
As an added bonus, you can also keep Activity Monitor running all the time and turn it’s Dock icon into a live resource usage monitor to see what CPU, RAM, disk activity, or network activity are up to on a Mac.
Advanced: View All Running Processes with Terminal
Delving into the command line, you can use a few more advanced tools to view every single process running on the Mac, ranging from basic user-level apps to even the tiny daemons and core system functions that are otherwise hidden from Mac OS X’s general user experience. In many ways, these tools can be thought of as command line versions of Activity Monitor, and we’ll focus on two in particular: top and ps.
Top will show a list of all running processes and various statistics about each process. It’s usually most helpful to sort by processor usage or memory usage, and to do that you’ll want to use the -o flag:
Sort top by CPU:
top -o cpu
Sort top by memory usage:
top -o rsize
top is updated live, whereas the next tool ‘ps’ is not.
The ps command will default to only displaying terminal processes active under the current user, thus ‘ps’ on it’s own is kind of boring unless you’re living in the command line. By applying a flag or two, you can reveal all processes though, and perhaps the best combination is ‘aux’ used like so:
To see all the output it’s helpful to expand a terminal window full screen, but it can still be a bit overwhelming if tons of stuff is running (which is usually the case), and thus piping it through ‘more’ or ‘less’ is often preferable to make viewing easier:
This allows you to view pages of the output at a time without having to scroll up and down in the Terminal window.
To search for a specific process (or application name, for that matter), you can use grep like so:
ps aux|grep process
Or to look for applications:
ps aux|grep "Application Name"
When looking for apps running in the GUI, it’s usually best to use the same case that the apps use in OS X, or else you may not find anything.