How to use the command 'pgrep' (with examples)
The pgrep
command is used to find or signal processes by their name. It can be used to search for running processes with a matching command string, search for processes including their command-line options, and search for processes run by a specific user.
Use case 1: Return PIDs of any running processes with a matching command string
Code:
pgrep process_name
Motivation: This use case is helpful when you want to find the process IDs (PIDs) of all running processes that have a specific name.
Explanation: The pgrep
command is followed by the name of the process you want to search for. It will return the PIDs of all running processes that match the given name.
Example output:
$ pgrep firefox
1456
In the above example, the pgrep
command is used to find the PIDs of all running processes named “firefox.” The output shows a single PID, which is 1456.
Use case 2: Search for processes including their command-line options
Code:
pgrep --full "process_name parameter"
Motivation: Sometimes, you may need to find processes that have specific command-line options or parameters. This use case allows you to search for processes by including their command-line options.
Explanation: The --full
option is added to the pgrep
command, followed by the full command string enclosed in double quotes. It will return the PIDs of processes that match the given command string exactly, including any command-line options or parameters.
Example output:
$ pgrep --full "python script.py"
2834
In the above example, the pgrep
command is used to search for processes with the full command string “python script.py.” The output shows a single PID, which is 2834.
Use case 3: Search for processes run by a specific user
Code:
pgrep --euid root process_name
Motivation: If you want to find all processes run by a specific user, this use case allows you to search for processes using the effective user ID (euid). In this example, we search for processes run by the root user.
Explanation: The --euid
option is added to the pgrep
command, followed by the user ID (euid) and the process name. It will return the PIDs of processes that match the given process name and are run by the specified user.
Example output:
$ pgrep --euid root firefox
1456
In the above example, the pgrep
command is used to search for processes named “firefox” run by the root user. The output shows a single PID, which is 1456.
Conclusion:
The pgrep
command is a versatile tool for finding or signaling processes by their name. It offers several useful options to search for processes based on different criteria, such as command string, command-line options, and user. By using pgrep
, you can easily identify running processes and perform further operations based on their process IDs (PIDs).