,A PROCESS IS A RUNN+ PROGRAM A PID1 AN ADDRESS SPACE1 OP5 FILE DESCRIPTORS1 A P>5T1 A /ATE4 ,E PROCESS ON ,L9UX DESC5DS F ,,PID #A "<9IT_/SY/EMD"> "? =K"<"> ! :OLE SY/EM IS "O FAMILY TREE4 ,? *APT] T1*ES Y TO SEE X3 PS1 TOP1 SIGNALS1 JOB 3TROL1 & ! _/PROC FILESY/EM ": ! K]NEL EXPOSES E PROCESS'S 9N>DS Z R1DABLE FILES4 ,! LIFECYCLE =K1 EXEC1 WAIT1 EXIT PID "7 =K"<">2 _/_/ CL"O P>5T & * BO? 3T9UE IF " _/_/ * BRAN* EXECVP"<8PROG01 >GS">2 _/_/ REPLACE ? PROCESS'S IMAGE ELSE WAIT"<@&/ATUS">2 _/_/ P>5T COLLECTS ! *'S EXIT CODE =K"<"> DUPLICATES2 EXEC"<"> REPLACES ! COPY ) ! NEW PROGRAM2 WAIT"<"> R1PS4 ,E PROCESS IS BORN A CL"O ( XS P>5T1 !N RE-SK9N$ Z XS R1L PROGRAM4 ,! EXIT CODE "<#J#BEE"> ! * L1VES IS ! 3TRACT ! P>5T COLLECTS @S8 9 ! %ELL4 ,:5 A * DIES 2F XS P>5T WAITS1 X 2COMES A ZOMBIE ;,Z 9 PS1 D1D B UNR1P$1 HOLD+ ONLY XS EXIT /ATUS4 ,AN ORPHAN ^: P>5T DIES IS RE-P>5T$ TO ,,PID #A4 ,SEE+ !M PS & FRS PS AUX _? ! CLASSIC FULL LI/+ _? ,,US] ,,PID .0,,CPU .0,,,MEM VSZ RSS TTY /AT />T "T COMM&,' PS -EF _? ,SYS,V /YLE %[S ,,PPID PS -EJ,H _? ! FAMILY TREE PS --=E/ -;E _? VISUAL TREE PGREP -;L S%D _? PIDS BY "N PID( BA% _? S+LE "N PIDS TOP _? ! LIVE VIEW SORT BY ;,M"1 ;,P"1 ;,T" HTOP _? ! BETT] LIVE VIEW P/REE -;P _? ! TREE ) PIDS ,,/AT CODES ;,R RUNN+1 ;,S SLEEP+1 ;,D UN9T]RUPTIBLE "1 ;,T /OPP$1 ;,Z ZOMBIE1 ;S SES.N L1D]1 "6 =EGR.D1 ;L MULTI?R1D$4 ;,D-/ATE PROCESSES C'T 2 KILL$ !Y'RE MID-SYSCALL 9 ! K]NEL4 ,JOB 3TROL ! %ELL'S [N PROCESSES CMD @& _? BACKGR.D JOBS _? ! JOB TABLE .0#A .0#B 444 FG .0#A _? BR+ TO =EGR.D BG .0#A _? RESUME SUSP5D$ 9 BACKGR.D ,CTRL-;,Z2 BG _? ! SUSP5D-&-BACKGR.D COMBO 4[N .0#A _? REMOVE F JOB TABLE SURVIVES %ELL EXIT NOHUP CMD @& _? IMMUNE TO ,,SI4 JOBS -;L %[S PIDS4 ,SES.NS & PROCESS GR\PS ,A SES.N GR\PS PROCESS GR\PS "U A 3TROLL+ T]M9AL SETSID />TS A NEW "O "4 ,! LOG9 %ELL L1DS A SES.N2 PKILL -;U ALICE KILLS ALL H] PROCESSES4 ,DAEMONIZA;N "7 =K1 SETSID1 DETA* TTY1 *DIR _/1 CLOSE FDS1 R$IRECT /DIO TO _/DEV_/NULL ! CLASSIC D.E SY/EMD N[ DOES = S]VICES4 ,! =K_/EXEC_/EXEC FAMILY ! ;,C-LEVEL ANATOMY PID.-T PID "7 =K"<">2 _/_/ CL"O P>5T"6* BO? 3T9UE1 DI6] 9 RETURN IF " _< _/_/ * EXECLP"<8PROG01 8PROG01 8>G01 ,,NULL">2 _/_/ ,,PA?-SE>*$ EXEC .-EXIT"<#ABG">2 _/_/ ONLY R1*$ IF EXEC FAILS _> _/_/ P>5T 3T9UES ) PID "7 *'S PID 9T /ATUS2 WAITPID"2 _/_/ COLLECT ! EXIT CODE ,,WIFEXIT$"2 ,,WEXIT/ATUS"2 _/_/ DECODE X ,! EXEC FAMILY3 EXECL_/EXECLP_/EXECLE_/EXECV_/EXECVP_/EXECVPE L"7>G-LI/1 V"7>GV->RAY1 P"7,,PA?-SE>*1 E"7CU/OM 5V4 ,AF EXEC ! PROCESS'S :OLE IMAGE IS REPLAC$ SAME PID1 NEW PROGRAM4 ,! ZOMBIE_/ORPHAN LOGIC3 A * EXITS ,,SIG*LD TO P>5T P>5T WAIT"<">;S R1P$2 P>5T DIES F/ * REP>5TS TO ,,PID #A4 ,! PROCESS TREE'S /RUCTURE P/REE -;P _? ! VISUAL FAMILY F SY/EMD_/,,PID#A D[N PS -EJ,H _? ! SAME TREE Z A LI/ PS -O PID1PPID1PGID1SID1TTY1CMD -;E _? ,,PID #A3 SY/EMD " _? S%D BA% VIM _? CRON _? GETTY "<#F"> _? DAEMONS444 ,E PROCESS DESC5DS F ,,PID #A ! :OLE SY/EM IS "O =K TREE4 ,SES.N "7 LOG9 3TEXT2 PROCESS-GR\P "7 A PIPEL9E'S JOBS2 3TROLL+-TTY "7 :AT ,CTRL-;,C T>GETS4 ,! SIGNAL-S5D GRAMM> KILL ,,PID _? ,,SIGT]M #AE ASK POLITELY KILL -#I ,,PID _? ,,SIGKILL UNCAT*ABLE KILL -,,HUP ,,PID _? RELOAD DAEMONS' 3V5;N KILL -,,9T ,,PID _? ,CTRL-;,C EQUIVAL5T KILL -,,T/P ,,PID _? ,CTRL-;,Z EQUIVAL5T KILL -,,3T ,,PID _? RESUME KILL -,,USR#A ,,PID _? APP'S PRIVATE TRI7] NG9X RELOADS1 DD PR9TS PROGRESS KILL -- -,,PGID _? A PROCESS ,,GR\P KILL -;L _? #A#CA /&>D "6 ,,SIGRTM944,,SIGRTMAX R1L"T KILL -#J ,,PID _? 8DOES X EXI/80 ! PROBE KILLALL "N _? BY "N PKILL -;F PATT]N _? BY CMDL9E PKILL -;U ALICE _? ALL ( ALICE'S ,! TWO UNCAT*ABLES3 ,,SIGKILL & ,,SIG/OP ! K]NEL'S GU>ANTEES T NO?+ C REFUSE D1? OR SUSP5.N4 ,"EY?+ ELSE A PROCESS MAY TRAP_/H&LE_/IGNORE4 KILL -#J IS ! EXI/;E PROBE RETURNS ! ]ROR )\T KILL+4 -,,USR#A IS ! 3V5;N APPS USE = RELOAD_//ATUS DD PR9TS XS PROGRESS ON ,,USR#A4 _/PROC ! PROCESS'S 9N>DS LS _/PROC_/@S@S _? ,,YR %ELL'S PROCESS1 Z FILES CAT _/PROC_/@S@S_//ATUS _? /ATE1 MEMORY1 UIDS CAT _/PROC_/@S@S_/CMDL9E _\ TR '_*#J' ' ' _? XS >GV LS -;L _/PROC_/@S@S_/FD _? XS OP5 FILES ! FDS6 CAT _/PROC_/@S@S_/5VIRON _\ TR '_*#J' '_*N' _? XS 5VIRON;T CAT _/PROC_/LOADAVG _? #A_/#E_/#AE-M9 LOAD "6 RUNN+_/TOTAL CAT _/PROC_/MEM9FO _? ! MEMORY L$G] CAT _/PROC_/CPU9FO _? ! ,C,P,US _/PROC_/,,PID_/FD_/ AL"O IS WOR? ! *APT] E OP5 FILE1 SOCKET1 & PIPE Z A SYML9K4 LS( & LS -;L _/PROC_/"9_/FD %[ :O HOLDS :AT4 ,PRIORITIES NICE & ! S*$UL] NICE -;N #AJ CMD _? RUN X NIC] " R5ICE "6#E -;P ,,PID _? *ANGE A RUNN+ "O PS -O PID1NI1COMM _? SEE NICE VALUES ,HI<] NICE "7 L[] PRIOR;Y 8NIC]0 TO O!RS4 *RT1 IONICE1 TASKSET R1* ! DEEP] S*$UL]S "<,,RT CLASSES1 ,I_/,O PRIOR;Y1 ,,CPU P9N+">4 ,RES\RCE LIMITS ULIMIT -A _? ? %ELL'S LIMITS FDS1 CORE SIZE1 PROCS1 MEMORY ULIMIT -;N #DJIF _? RAISE FD CEIL+ CAT _/PROC_/,,PID_/LIMITS _? A RUNN+ PROCESS'S LIMITS "T\T #CJ CMD _? KILL AF #CJ;S ! BLUNT 9/RU;T SY/EMD'S ,LIMIT,N,P,R,O,C_/,LIMIT,N,O,F,I,L,E ! S]VICE-LEVEL EQUIVAL5TS ULIMIT -;N " IS ! "O Y';LL ACTUALLY HIT BUSY S]V]S BUMP X 3/ANTLY4 ,SIGNALS ! COMPLETE TAXONOMY KILL -;L _? #FD TOTAL #A#CA /&>D1 #CB#FD R1L"T "<,,SIGRTM944,,SIGRTMAX"> ,,SI _? HANGUP T]M9AL CLOS$ DAEMONS USE Z 8RELOAD 3FIG0 ,,SIG9T "<#B"> _? ,CTRL-;,C 9T]RUPT ,,SIGQUIT "<#C"> _? ,CTRL-_* QUIT "6 CORE DUMP ,,SIGILL "<#D"> _? ILLEGAL 9/RUC;N ,,SIGTRAP "<#E"> _? DEBU7] BR1KPO9T ,,SIGABRT "<#F"> _? ABORT"<"> ! CORE DUMP ,,SIGFPE "<#H"> _? >I?METIC FAULT DIV BY Z]O ,,SIGKILL "<#I"> _? ,,UNCAT*ABLE K]NEL KILLS X N[ ,,SIGSEGV "<#AA"> _? SEGFAULT BAD MEMORY A3ESS ,,SIGPIPE "<#AC"> _? WROTE TO A CLOS$ PIPE ! 8BROK5 PIPE0 ,,SIGALRM "<#AD"> _? AL>M"<"> "TR ,,SIGT]M "<#AE"> _? POLITE T]M9ATE ! DEFAULT KILL ,,SIG*LD "<#AG"> _? A * DI$ P>5T R1PS VIA WAIT"<"> ,,SIGCONT "<#AH"> _? RESUME A /OPP$ PROCESS ,,SIG/OP "<#AI"> _? ,,UNCAT*ABLE SUSP5D ,,SIGT/P "<#BJ"> _? ,CTRL-;,Z T]M9AL /OP " ,,SIGUSR#A_/#B "<#AJ_/#AB"> _? US]-DEF9$ DAEMONS' PRIVATE TRI7]S ,! SEMANTICS3 ,,SIGT]M ASKS "2 ,,SIGKILL EXECUTES "2 ,,SIE ! DEBU7]'S & JOB 3TROL'S PAUSE_/RESUME4 TRAP CAT*ES ! CAT*ABLES TRAP 'CL1NUP' ,,T]M ,,9T IS ! DAEMON-%UTD[N PATT]N4 ,NUMB]S #CB#FD >E ! R1L"T RANGE3 #CB#CC >E RES]V$ = GLIBC'S ?R1D+ 9T]NALS1 & #CD#FD >E ,,SIGRTM944,,SIGRTMAX "<;,C3 ,,SIGRTM9"6N"> SAME DELIV]Y1 B !Y QUEUE "5'T COALESC$"> & C C>RY AN 9TEG] PAYLOAD ,,POSIX "TRS1 ,,AIO1 & MQ.-NOTIFY USE !M4 KILL -,,RTM9"6#E ,,PID S5DS "O2 KILL -;L LI/S ALL #FD SLOTS4 ,SES.NS1 GR\PS1 & ! 3TROLL+ T]M9AL PS -O PID1PPID1PGID1SID1TTY1CMD -;E _\ H1D _? ! :OLE HI]>*Y SETSID CMD _? NEW SES.N DETA* F ! T]M9AL 4[N .0#A _? DROP F JOB TABLE SURVIVE EXIT NOHUP CMD @& _? ,,SIGETS A PID1 KILL -- -,,PGID A GR\P4 ,! 3TROLL+ T]M9AL "<,,TTY 9 PS"> IS :AT ,CTRL-;,C SIGNALS HIT DAEMONS %$ X VIA SETSID4 CGR\PS "6 "NSPACES ! 3TA9] PRIMITIVES LS _/SYS_/FS_/CGR\P_/ _? ! CGR\P HI]>*Y ! R1L 3TA9] LAY] CAT _/PROC_/,,PID_/CGR\P _? A PROCESS'S CGR\P SY/EMD-CGLS _? SY/EMD'S CGR\P TREE UN%>E -;U -;N -;P BA% _? A BA% 9 FRE% "NSPACES A PROTO-3TA9] LSNS _? LI/ "NSPACES ,"NSPACES " ISOLATE2 CGR\PS MET] "4 ,3TA9]S >E ^! TWO PRIMITIVES >RANG$ DOCK] RUN "7 "NSPACES "6 CGR\PS "6 AN IMAGE1 NO?+ M4 ,! S*$UL]'S DEEP] KNOBS NICE -;N #AJ CMD _? -#BJ44#AI HI<] "7 ,,L[] PRIOR;Y R5ICE -;N #E -;P ,,PID _? LIVE-TUNE *RT -;F #EJ CMD _? ,,S*$.-,,FIFO R1L"T *RT -;R #EJ CMD _? ,,S*$.-,,RR IONICE -C#C CMD _? IO PRIOR;Y IDLE-CLASS TASKSET -;C #J1A CMD _? ,,CPU P9N+ ,R1L"T CLASSES B1T NICE ,,S*$.-,,FIFO_/,,RR PREEMPT "EY?+ ELSE2 IONICE & TASKSET %APE ,I_/,O & ,,CPU A69;Y4 ,MONITOR+ 2Y TOP VM/AT #A _? MEMORY "6 ,,IO "6 ,,CPU1 P] SECOND IO/AT -;X #A _? 4K ,I_/,O MP/AT -;,P ,,ALL #A _? P]-,,CPU D/AT _? ! "EY?+-MONITOR FREE -;H _? MEMORY N[ WAT* -N#A 'PS AUX --SORT"7-.0CPU _\ H1D' _? YR [N LIVE MONITOR ,LOAD AV]AGE " "7 RUNNABLE PROCESSES AV]AG$ OV] #A_/#E_/#AE M9 #D4JJ ON #D ,C,P,US "7 SATURAT$2 ON #H ,C,P,US "7 HALF-LOAD$4 ,9T]PRET RELATIVE TO CORE C.T4 ,": PROCESS "W GOES WR;G ,SYMPTOM ,CAUSE KILL DIDN'T KILL X ,PROCESS IGNOR$ ,,SIGT]M ESCALATE TO -#I KILL -#I DIDN'T KILL X ;,D /ATE MID-SYSCALL1 (T5 D1D ,,NFS_/4K ,I_/,O ,ZOMBIE PIL+ UP ,P>5T N WAIT"<">9G A P>5T BUG2 KILL ! P>5T ,DAEMON DIES AT LOG\T ,NE$$ NOHUP_/SETSID_/4[N ,,SI EXEC"<"> ,D1? EXIT"<"> ZOMBIE WAIT"<"> ,,PID #A ,! ANCE/OR ( ALL SY/EMD_/,SYS,V9IT ,SIGNALS ,9T]-PROCESS 9T]RUPTS _/PROC ,! K]NEL'S PROCESS W9D[ ,SEE AL - ,L9UX ,%ELL ,CORE ,UTILITIES ,,LFS ,K]NEL & ,BOOT