Day 12/ 30 Days of Linux Mastery: Process Management Simplified

Table of Contents Introduction What is a Process in Linux? Core Process Management Commands Real-World Scenario: Process Management Conclusion Let's Connect Introduction Welcome back to Day 12 of this practical Linux challenge! Today is all about understanding processes, the moving parts of your Linux system. Understanding process management is a key part of ensuring applications and services remain stable and responsive, especially in production environments. Whether you are deploying a web app or debugging a stuck background job, knowing how to inspect and control processes can save you hours. What is a Process in Linux? A process is simply a running instance of a program or command. Every time you launch an app or command, Linux spins up a process for it, assigning it a unique PID (Process ID). Processes can run in the foreground (what you see) or background (what you don't), and they can be system-level (like the kernel) or user-started (like opening Vim or running Python). Types of Processes Foreground Process: Runs directly in your terminal. Background Process: Runs in the background, frees up the terminal. Zombie Process: Completed execution but still in the process table. Orphan Process: Parent process has terminated but the process is still running. Core Process Management Commands Process Management Command Description ps Show running processes top / htop Real-time monitoring (like Task Manager) pidof Get PID of a running process kill Send termination signal to a process killall Kill all instances of a process nice, renice Adjust priority of a process jobs List jobs in the current shell bg Resume a job in the background fg Bring a job to the foreground & Run command in the background nohup Run a command immune to hangups xkill GUI tool to kill a window (use with care) Ctrl+Z Stops the job temporarily, so that it can be managed Ctrl+C Used to cancel the current interactive job Real-World Scenario: Process Management Let’s run the sleep command and see the processes. bash sleep 300 Open another terminal tab or window, then run ps aux | grep sleep # Your process output is this; Monitor the process bash # run the following ps - # to see the running process top or htop - # for real-time monitoring ctrl+c - # to leave or cancel the current process/job To kill the process ps aux | grep sleep # Select the PID to kill the process numerically kill 3024 or kill sleep # you will notice it says terminated in the other terminal # To forcefully kill a process kill -9 3024 Conclusion In any real cloud environment (AWS, GCP, on-prem), processes might hang, spike in memory, or crash. You need to know how to handle them like a pro, with grace and speed. These process management commands give you that power. If this is helpful to you, feel free to bookmark, comment, like and follow me for Day 13! Let's Connect! If you want to connect or share your journey, feel free to reach out on LinkedIn. I am always happy to learn and build with others in the tech space. #30DaysLinuxChallenge #Redhat#RHCSA #RHCE #CloudWhistler #Linux #Rhel #Ansible #Vim #CloudComputing #DevOps #LinuxAutomation #IaC #SysAdmin#CloudEngineer

May 5, 2025 - 13:52
 0
Day 12/ 30 Days of Linux Mastery: Process Management Simplified

Table of Contents

  • Introduction
  • What is a Process in Linux?
  • Core Process Management Commands
  • Real-World Scenario: Process Management
  • Conclusion
  • Let's Connect

Introduction

Welcome back to Day 12 of this practical Linux challenge! Today is all about understanding processes, the moving parts of your Linux system. Understanding process management is a key part of ensuring applications and services remain stable and responsive, especially in production environments.

Whether you are deploying a web app or debugging a stuck background job, knowing how to inspect and control processes can save you hours.

What is a Process in Linux?

A process is simply a running instance of a program or command. Every time you launch an app or command, Linux spins up a process for it, assigning it a unique PID (Process ID).

Processes can run in the foreground (what you see) or background (what you don't), and they can be system-level (like the kernel) or user-started (like opening Vim or running Python).

  • Types of Processes
  1. Foreground Process: Runs directly in your terminal.

  2. Background Process: Runs in the background, frees up the terminal.

  3. Zombie Process: Completed execution but still in the process table.

  4. Orphan Process: Parent process has terminated but the process is still running.

Core Process Management Commands

Process Management Command Description
ps Show running processes
top / htop Real-time monitoring (like Task Manager)
pidof Get PID of a running process
kill Send termination signal to a process
killall Kill all instances of a process
nice, renice Adjust priority of a process
jobs List jobs in the current shell
bg Resume a job in the background
fg Bring a job to the foreground
& Run command in the background
nohup Run a command immune to hangups
xkill GUI tool to kill a window (use with care)
Ctrl+Z Stops the job temporarily, so that it can be managed
Ctrl+C Used to cancel the current interactive job

Real-World Scenario: Process Management

Let’s run the sleep command and see the processes.

bash
sleep 300

  • Open another terminal tab or window, then run
ps aux | grep sleep

# Your process output is this;


ps1 description

  • Monitor the process
bash

# run the following

ps - # to see the running process
top or htop - # for real-time monitoring
ctrl+c - # to leave or cancel the current process/job




ps3 description

ps2 description

  • To kill the process
ps aux | grep sleep

# Select the PID to kill the process numerically

kill 3024 or kill sleep   # you will notice it says terminated in the other terminal


# To forcefully kill a process

kill -9 3024

ps6 description

Conclusion

In any real cloud environment (AWS, GCP, on-prem), processes might hang, spike in memory, or crash. You need to know how to handle them like a pro, with grace and speed. These process management commands give you that power.

If this is helpful to you, feel free to bookmark, comment, like and follow me for Day 13!

Let's Connect!

If you want to connect or share your journey, feel free to reach out on LinkedIn.
I am always happy to learn and build with others in the tech space.

#30DaysLinuxChallenge #Redhat#RHCSA #RHCE #CloudWhistler #Linux #Rhel #Ansible #Vim #CloudComputing #DevOps #LinuxAutomation #IaC #SysAdmin#CloudEngineer