Codacoda
Back to Academy

process thread

Process Lifecycle

A process transitions through well-defined states during its lifetime: New, Ready, Running, Waiting (Blocked), and Terminated. The OS scheduler moves processes between these states based on events like I/O requests, time slice expiration, or completion. Understanding the lifecycle is essential for debugging hangs, zombie processes, and resource leaks.

Use Cases

  • Debugging why a server process is stuck in a waiting/blocked state
  • Implementing graceful shutdown hooks that transition from running to terminated cleanly
  • Monitoring process health in production by checking expected state transitions
  • Understanding zombie processes that are terminated but not yet reaped by the parent

Visualization

CONCEPTadmitteddispatchI/O waitI/O donepreemptedexit()NewReadyRunningWaitingTerminatedOS Scheduler
Speed:1x
Process lifecycle: A process goes through several states from creation to termination.Step 1 / 8

Implementation

Output

Click "Run Code" to see output...