OS - Process (Task)

> Operating System - Kernel (Windows, Unix, Linux) > OS - Process (Task)

1 - About

A process is is the first thread started (generally called main) and the only one authorized to start new threads.

A process is also known as:

  • a task (ie Task Manager).
  • running programs

See entry point

A process has a self-contained execution environment.

A process generally has a complete, private set of basic run-time resources allocated by the operating system, in particular, each process has:

Creating or destroying a process is relatively expensive, as resources must be acquired or released.

Processes are often seen as synonymous with programs or applications. However, what the user sees as a single application may in fact be a set of cooperating processes.


3 - OS

Process in a OS context

4 - Management

4.1 - Processor

Which processor are allowed to run the process ? See Hardware - NUMA node (Affinity)

4.2 - Id

4.3 - Environment

4.4 - Time

Process time are CPU time

4.5 - Communication


4.6 - Vizualization

4.7 - Watch Dog

4.8 - Monitoring

4.8.1 - strace

OS - strace (Interactions between processes and the Linux kernel)

To start and monitor an new process:

strace -f -e trace=network -s 10000 PROCESS ARGUMENTS

To monitor an existing process with a known PID:

strace -p $PID -f -e trace=network -s 10000

4.9 - Call Stack

There is usually exactly one call stack associated with a running process (or thread)

4.10 - Priority


4.11 - Kill

Windows and wmic

wmic process where CommandLine like '%${project.artifactId}%' and not name='wmic.exe' delete
REM or

5 - Documentation / Reference