Processes and Job Control

Master Linux process management and job control. Learn to monitor system activity, manage foreground and background jobs, terminate unresponsive processes, and control process priority using nice and renice.

DevOps EngineerLinuxDevOps

Introduction

This beginner course teaches you to observe and control Linux processes from the terminal. Through five guided labs, you will move from process snapshots and live monitoring to shell job control, signal-based termination, and CPU scheduling priority.

The final incident-style challenge asks you to start a runaway process, identify its resource usage and PID, attempt a graceful stop, and escalate to forced termination only when necessary.

What You Will Learn

  • Compare the current-terminal view from ps with the system-wide detail from ps aux
  • Find a target process and distinguish its PID from the search command in filtered output
  • Use top to inspect system activity and sort processes by memory or CPU usage
  • Run commands in the foreground or background and distinguish shell job IDs from PIDs
  • Suspend, list, resume, and interrupt terminal jobs with Ctrl+Z, jobs, fg, and Ctrl+C
  • Send SIGTERM with kill, reserve SIGKILL for unresponsive processes, and use pkill by name
  • Start processes with nice and adjust a running process with renice
  • Diagnose and terminate a prepared runaway process using a staged response

Who This Course Is For

This course is for Linux beginners, operators, and aspiring DevOps or SRE practitioners who want practical process-monitoring and terminal job-control skills.

Prerequisites: Basic terminal navigation, command execution, pipes, and simple output redirection; no prior process-administration experience is required.

Learning environment: A provided Ubuntu-based LabEx terminal with prepared background scripts and processes for safe monitoring, job-control, priority, and signal exercises.

Frequently Asked Questions

How is the course structured?

Five labs provide guided practice. The sixth item is a final runaway-process challenge that combines background execution, top, PID lookup, SIGTERM, and SIGKILL with less guidance.

What is the difference between a job ID and a PID?

A job ID such as %1 belongs to the current shell's job table and is used by commands such as fg. A PID identifies a process system-wide and is used by tools such as ps, renice, and kill.

Should I use kill -9 whenever a process causes trouble?

No. The course teaches you to send the default SIGTERM first so a process can stop cleanly. SIGKILL with kill -9 is the fallback when the prepared process ignores SIGTERM.

Does changing niceness guarantee a specific amount of CPU time?

No. nice and renice influence relative CPU scheduling priority when processes compete; they do not reserve or guarantee a fixed CPU share.

Teacher

labby
Labby
Labby is the LabEx teacher.