top of page
Writer's picturevP

Process Management in Linux - Day 17

Welcome back to #90DaysOfDevOps! Today, we'll be exploring process management in Linux. Understanding how to manage processes is essential for maintaining system performance and ensuring that your applications run smoothly. We'll explore key commands like ps, top, kill, and bg, and also discuss how to start and stop services.


1. Processes in Linux

In Linux, a process is a running instance of a program. It can be an application, a system task, or a script. Each process has a unique Process ID (PID) and consumes system resources like CPU, memory, and I/O.


2. Viewing Processes (ps)

The ps command is used to view information about running processes. It can provide a detailed list of processes or filter them based on various criteria.


List All Processes:

To list all processes running on your system, simply use:

ps aux

This command shows a comprehensive list of processes, including their PIDs, resource usage, and more.


Filter Processes:

You can filter processes using grep to find specific ones. For example, to find all processes related to a program called nginx, you can use:

ps aux | grep nginx

3. Monitoring Processes (top)

The top command is a dynamic and interactive process viewer. It displays real-time information about system processes, resource usage, and more.


To start top, simply run:

top

top provides a live view of processes and their resource utilization. You can sort and filter processes, send signals to them, and more, all from within the top interface.


4. Controlling Processes (kill and bg)

Killing Processes (kill)

Sometimes, you need to terminate a misbehaving or unwanted process. The kill command allows you to send signals to processes to stop or control them.


For example, to forcefully stop a process with a known PID, you can use:

kill -9 PID

Replace PID with the actual process ID.


Background Processes (bg)

When running a process in the foreground, you can send it to the background by suspending it and then running it as a background job. This is helpful for running processes without tying up your terminal.


To start a process in the background, you can use:

./my_script.sh &

The & symbol sends the process to the background.


5. Starting and Stopping Services

Services in Linux are long-running processes that perform specific tasks. You often need to start, stop, or restart services on your system.


Starting a Service:

To start a service, you can use the systemctl command. For example, to start the Apache web server on a systemd-based system, you'd use:

sudo systemctl start apache2   # Debian/Ubuntu
# or
sudo systemctl start httpd     # CentOS/RHEL

Stopping a Service:

To stop a service, use the systemctl command with stop:

sudo systemctl stop apache2    # Debian/Ubuntu
# or
sudo systemctl stop httpd      # CentOS/RHEL

Mastering process management is crucial for any DevOps engineer or system administrator. These commands and techniques allow you to monitor, control, and troubleshoot processes efficiently, ensuring the stability and performance of your Linux system.


As we continue our journey in #90DaysOfDevOps, remember that effective process management is not only about keeping your system healthy but also about optimizing its performance and resource utilization.


Thank you for reading!


*** Explore | Share | Grow ***

4 views0 comments

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page