Everything running on a Linux system is a process with a defined lifecycle, a parent, and a way to be controlled or communicated with. This section covers that model, plus systemd as the dominant way services are managed today.

  • Job Control

    Running, suspending, and switching between multiple commands within a single shell session - foreground and background jobs, and what happens to them when you log out.

  • Process Lifecycle

    How a Linux process comes into existence, runs, and terminates - the fork/exec model, parent-child relationships, and what happens to a process after it exits.

  • Signals

    A signal is a limited, asynchronous message sent to a process - the mechanism behind Ctrl+C, graceful service shutdowns, and forcibly killing something that won't respond.

  • systemd and Services

    systemd is PID 1 on nearly every mainstream Linux distribution today - units and targets are how it defines and coordinates everything that starts at boot or on demand.