The pidof and pgrep commands make selecting and using process IDs on the Linux command line painless. Credit: Shelly Still / Getty Images The pidof and pgrep commands provide listings of process IDs (PIDs) for process names that you provide as arguments. This post shows how to use these commands and illustrates the differences between them with a series of examples. pidof There are a number of ways to determine the PID of a process running on a Linux system, but the easiest is probably a command called pidof. Read this as “PID of” and you’ll have an easy time remembering it. Using this command, you can get the PID of a process by typing “pidof” and specifying the process name. For example: $ pidof bash 1262005 If you were to run the ps command without arguments, you will get a list of the processes that you’re running in your current shell. The command below shows where the response above comes from: $ ps PID TTY TIME CMD 1262005 pts/0 00:00:00 bash If more than one person is logged in and using bash, the response to that command will include all of the associated PIDs for bash processes, and you won’t necessarily know without some additional commands which PID belongs to your shell: $ pidof bash 1265446 1262005 You could run a command like this to show just your shell: $ ps | grep bash | awk ‘{print $1}’ 1262005 To get a listing of PIDs for system processes like systemd, you could run a command like this one: $ pidof systemd 1265265 1261815 1548 1 Notice that the output shows that four systemd processes are running. To display just one PID, you can add the -s option, but the pidof command will only then be providing the largest (more recently started) PID in the group. $ pidof -s systemd 1265265 If you get no response when you use pidof, the process you are asking about either isn’t running or you mistyped its name. $ pidof apache2 $ Interestingly, if you do a file listing for pidof, you’ll see that it’s nothing more than a symbolic link to another program, killall5 on this system. $ which pidof /bin/pidof $ ls -l /bin/pidof lrwxrwxrwx 1 root root 14 Feb 13 2020 /bin/pidof -> /sbin/killall5 Even so, the executable behaves very differently when it’s called pidof. When invoked with killall5, the command is one of a number of commands that is used to terminate processes. When referred to as pidof, it returns PIDs. pgrep The pgrep command works a lot like pidof, but there are some differences both in the content and the arrangement of its output. For example, when we use pidof to get a list of PIDs for systemd, we get a list like this one: $ pidof systemd 1261815 1548 1 When we use pgrep, on the other hand, we get a vertical listing of the PIDs and see more entries. Why? Because pgrep acts more like grep. It looks for processes that contain the string that is provided as an argument, not just those that match the process name exactly. $ pgrep systemd 1 1010 1548 171864 171907 172061 1261815 In the command below, you can see more details on the processes that the above command selected: $ ps -eo pid,euser,comm | grep systemd 1 root systemd 1010 root systemd-logind 1548 gdm systemd 171864 systemd+ systemd-resolve 171907 root systemd-journal 172061 root systemd-udevd 1261815 shs system Wrap-Up Selecting process IDs can be very useful at times, and the pidof and pgrep commands keep you from having to pipe the output of commands to other commands to narrow down the output to a list containing only process IDs. Now see: Related content how-to Compressing files using the zip command on Linux The zip command lets you compress files to preserve them or back them up, and you can require a password to extract the contents of a zip file. By Sandra Henry-Stocker May 13, 2024 4 mins Linux opinion NSA, FBI warn of email spoofing threat Email spoofing is acknowledged by experts as a very credible threat. By Sandra Henry-Stocker May 13, 2024 3 mins Linux how-to The logic of && and || on Linux These AND and OR equivalents can be used in scripts to determine next actions. By Sandra Henry-Stocker May 02, 2024 4 mins Linux how-to Using the apropos command on Linux By Sandra Henry-Stocker Apr 24, 2024 3 mins Linux PODCASTS VIDEOS RESOURCES EVENTS NEWSLETTERS Newsletter Promo Module Test Description for newsletter promo module. Please enter a valid email address Subscribe