diff --git a/proc.md b/proc.md new file mode 100644 index 0000000000000000000000000000000000000000..08a9eac99b92e31c0901e6758518bd25669c0b08 --- /dev/null +++ b/proc.md @@ -0,0 +1,28 @@ +# Proc + +man 5 proc +man 2 prctl + +* 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