Linux and Shell Programming

0 of 30 lessons complete (0%)

Module 5 Processes

Background Process and Job Control

Running Processes in the Background

  • To run a process in the background, append & at the end of the command.
long_running_command &

Foreground and Background Jobs

  • A foreground job is a job that is currently executing and interacting with the user.
  • A background job is a job that is executing in the background without user interaction.

Controlling Jobs (fg, bg, jobs)

fg Command:

  • The fg command is used to bring a background job to the foreground.
fg %1 # Bring job with ID 1 to the foreground

bg Command:

  • The bg command is used to resume a stopped background job.
bg %2 # Resume job with ID 2 in the background

jobs Command:

  • The jobs command lists the active jobs in the current shell session.
jobs

Process Groups and Sessions

  • A process group is a collection of processes that can be controlled as a single entity. Each process group has a unique ID.
  • A session is a collection of process groups, and each session is associated with a controlling terminal.

Managing Multiple Processes

  • To manage multiple processes, you can use the process management tools and commands mentioned earlier. Additionally, you can use shell scripting to automate tasks involving multiple processes.

Example (Shell Script):

#!/bin/bash # Start multiple processes in the background process1 & process2 & process3 & # Wait for all processes to finish wait echo "All processes finished."

This script starts three processes in the background and waits for them to finish before printing a message.

These concepts and commands provide the tools necessary for managing background processes, controlling jobs, and handling multiple processes in a Unix environment.