Slide 1

Slide 1 text

Des processus et démons sous Unix/Linux Jérémy Lecour — PastisRb et PLUG — avril 2014

Slide 2

Slide 2 text

Jesse Storimer jstorimer.com

Slide 3

Slide 3 text

Kernel et appels systèmes

Slide 4

Slide 4 text

Kernel Matériel Logiciel

Slide 5

Slide 5 text

processus Les processus

Slide 6

Slide 6 text

ont un id Les processus processus

Slide 7

Slide 7 text

ont un parent Les processus processus

Slide 8

Slide 8 text

ont des ressources ouvertes Les processus processus

Slide 9

Slide 9 text

ont des limites de ressources Les processus processus

Slide 10

Slide 10 text

ont un environnement Les processus processus

Slide 11

Slide 11 text

ont des arguments Les processus processus

Slide 12

Slide 12 text

ont un nom Les processus processus

Slide 13

Slide 13 text

ont des codes de retour Les processus processus

Slide 14

Slide 14 text

peuvent fourcher Les processus processus

Slide 15

Slide 15 text

peuvent virer Zombie Les processus processus

Slide 16

Slide 16 text

recevoir des signaux Les processus processus

Slide 17

Slide 17 text

processus Signal Value Action Comment ------------------------------------------------------------------------- SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process SIGINT 2 Term Interrupt from keyboard SIGQUIT 3 Core Quit from keyboard SIGILL 4 Core Illegal Instruction SIGABRT 6 Core Abort signal from abort(3) SIGFPE 8 Core Floating point exception SIGKILL 9 Term Kill signal SIGSEGV 11 Core Invalid memory reference SIGPIPE 13 Term Broken pipe: write to pipe with no readers SIGALRM 14 Term Timer signal from alarm(2) SIGTERM 15 Term Termination signal SIGUSR1 30,10,16 Term User-defined signal 1 SIGUSR2 31,12,17 Term User-defined signal 2 SIGCHLD 20,17,18 Ign Child stopped or terminated SIGCONT 19,18,25 Cont Continue if stopped SIGSTOP 17,19,23 Stop Stop process SIGTSTP 18,20,24 Stop Stop typed at tty SIGTTIN 21,21,26 Stop tty input for background process SIGTTOU 22,22,27 Stop tty output for background process

Slide 18

Slide 18 text

peuvent communiquer Les processus processus

Slide 19

Slide 19 text

Qu’est-ce qu’un démon

Slide 20

Slide 20 text

1. exit if fork 2. Process.setsid 3. exit if fork 4. Dir.chdir "/" 5. STDIN.reopen "/dev/null" 6. STDOUT.reopen "/dev/null", "a" 7. STDERR.reopen "/dev/null", "a"

Slide 21

Slide 21 text

1. exit if fork 2. Process.setsid 3. exit if fork 4. Dir.chdir "/" 5. STDIN.reopen "/dev/null" 6. STDOUT.reopen "/dev/null", "a" 7. STDERR.reopen "/dev/null", "a"

Slide 22

Slide 22 text

1. exit if fork 2. Process.setsid 3. exit if fork 4. Dir.chdir "/" 5. STDIN.reopen "/dev/null" 6. STDOUT.reopen "/dev/null", "a" 7. STDERR.reopen "/dev/null", "a"

Slide 23

Slide 23 text

1. exit if fork 2. Process.setsid 3. exit if fork 4. Dir.chdir "/" 5. STDIN.reopen "/dev/null" 6. STDOUT.reopen "/dev/null", "a" 7. STDERR.reopen "/dev/null", "a"

Slide 24

Slide 24 text

1. exit if fork 2. Process.setsid 3. exit if fork 4. Dir.chdir "/" 5. STDIN.reopen "/dev/null" 6. STDOUT.reopen "/dev/null", "a" 7. STDERR.reopen "/dev/null", "a"

Slide 25

Slide 25 text

1. exit if fork 2. Process.setsid 3. exit if fork 4. Dir.chdir "/" 5. STDIN.reopen "/dev/null" 6. STDOUT.reopen "/dev/null", "a" 7. STDERR.reopen "/dev/null", "a"

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Merci

Slide 28

Slide 28 text

[email protected] @jlecour jeremy.wordpress.com github.com/jlecour