# Proc

man 5 proc
man 2 prctl

## PID soubory

* virtuální fs
* symlinky v proc jsou divné
* složka pro každý PID
* procesy vs. vlákna
    * kernelu je to jedno
    * POSIX to řeší
    * jedno vlákno je hlavní
    * SIGKILL se rozpošle všem vláknům
    * jinak si je zabije libc
    * když proces skončí, tak po něm zůstane zombie
        * na něj musí rodič počkat
* sdílení paměti
    * nejlépe otevřít soubor a mmap
        * třeba v /dev/shm    
    * nepoužívat System V IPC

> UNIX signály
> * jednobitová fronta
> * maska
> * čeká ve frontě, dokud není povolená maska
> 
> Zajímavost: JITuje se někdy v SIGSEG
> V signal handlerech nelze používat všechno

## Další soubory

Zmínili jsme

* cmdline
* cpuinfo
* devices
* diskstats
* filesystems
* interrupts
* locks
* meminfo
* misc
* modules
* mounts
    * symlink
    * přesunuto kvůli namespaceům
* swaps
* sys
    * soubory ekvivalentí k sysctl