Vous êtes sur la page 1sur 33

Prparation LPI

Exam 101

103.5 Gestion des processus

103.5 Domaines de connaissances

Poids:4
Excuterdestravauxenavantetarrireplan
Signifierunprogrammedecontinueraprsunedconnexion
Superviserlesprocessusactifs
Slectionnerettrierlesprocessusl'affichage
Envoyerdessignauxauxprocessus

UPMC FP Prparation LPI - v1.1

103.5 Contrle des commandes

Avantplan(foreground)
Lorsquequ'uncommandeestlance,leshellnerendpasla
mainetattendqu'ellesetermine
Pourinterromprelacommandeencoursavantsafin
normale:CtrlC
Arrireplan(background)
Pourlancerunecommandetercuprerlamain
immditament,ilfautlalancerentchedefond
(background)enterminantlalignedecommandeavecle
caractre&
$commande&

UPMC FP Prparation LPI - v1.1

103.5 Contrle des commandes

Passaged'avantenarrireplan
Pourpasseenbackgroundunecommandelanceenavant
plan
1figerlacommandeencoursavecCtrlZ
2demanderlacommandedepasserenarrireplan
aveclacommandebg
Attention:l'utilisationdeCtrlZ.Lescommandesne
sontpastuesmaisuniquementfigesetdonccontinuent
occuperdesressourcesmmoire
[aoi@test]$find/nameHostidfile.txtprint
find:/lost+found:Permissionnonaccorde
[1]+Stoppedfind/nameHostidfile.txt
print
[aoi@test]$bg
[1]+find/nameHostidfile.txtprint&
UPMC FP Prparation LPI - v1.1

103.5 Contrle des commandes

Passaged'arrireenavantplan
Pourpasserenforegroundunecommandelanceenarrire
plan
1demanderlacommandedepasserenavantplanavec
lacommandefg
[aoi@test]$find/nameHostidfile.txtprint
find:/lost+found:Permissionnonaccorde
[1]+Stoppedfind/nameHostidfile.txt
print
[aoi@test]$bg
[1]+find/nameHostidfile.txtprint&
[aoi@test]$fg
find/nameHostidfile.txtprint
find:/boot/lost+found:Permissionnonaccorde
find:/etc/skel/tmp:Permissionnonaccorde
....
UPMC FP Prparation LPI - v1.1

103.5 Contrle des commandes

UPMC FP Prparation LPI - v1.1

103.5 Contrle des commandes

Listedesprocessusenarrireplan
Pourconnatrelaliste:jobs
Lesjobssontnumrots(ilpeutyavoirplusieurscommandes
lancessimultanmentenarrireplan).Cenumropeuttre
reprisdanslescommandesfg,bgetkill

UPMC FP Prparation LPI - v1.1

103.5 Contrle des commandes

Optionsdelacommandejobs
l:ajoutelePID
p:afficheuniquementlepid
r:afficheuniquementlesprocessusencoursd'excution
s:afficheuniquementlesprocessusarrts

UPMC FP Prparation LPI - v1.1

103.5 Contrle des commandes

Tuerunprocessusenarrireplan
commande:kill%numjob
[aoi@test]$find/nameHostidfile.txtprint
find:/lost+found:Permissionnonaccorde
[1]+Stoppedfind/nameHostidfile.txtprint
[aoi@test]$jobs
[1]+Stoppedfind/nameHostidfile.txtprint
[aoi@test]$kill%1
[aoi@test]$jobs
[1]+Compltfind/nameHostidfile.txtprint

UPMC FP Prparation LPI - v1.1

103.5 Contrle des commandes

Lescommandesfg,bgetkillne
fonctionnentquesurlesprocessuslancsparleshellcourant.
Pourintervenirsurtouslesprocessusilfaututiliserune
commandeplusgnraledesgestiondeprocessus(voirplus
loin):ps

UPMC FP Prparation LPI - v1.1

10

103.5 nohup

Commandenohup:permetdecontinuerl'excutiond'une
commandeaprsunedconnexionenlarendantinsensibleaux
signaux
nohupCOMMAND[ARG]...
Sistdinestunterminal,redirectionimplicitepar/dev/null
Equivalent
nohupCOMMAND</dev/null
Sistdoutestunterminal,redirectionimpliciteversnohup.out.
Stderrestredirigeversstdout.
Sinonfaireuneredirectionexplicite:
nohupCOMMAND>monfic.log
Attention:ilfautexplicitementmettrelacommandeen
backgroundsincessaire

UPMC FP Prparation LPI - v1.1

11

103.5 nohup

Acomplter
mettreunexdecommandenohupsurmkfslongparexemple

UPMC FP Prparation LPI - v1.1

12

103.5 ps

Commandesps:affichel'tatdesprocessusencours.
Affichagedel'tataumomentdel'excutiondelacommande.
Pourunaffichageencontinu,utiliserlacommandetop.
psrcuprelesinformationsaffichesdepuislesystmede
fichier/proc
Listedesinformationsprsentes
UID:uidpropritaire
PID:identifiantduprocessus
PPID:pidduprocessusparent
NI:valeurdenice(gentillesse)
SZ:(size)empreintemmoireduprocessus(code+
donnes+pile)
UPMC FP Prparation LPI - v1.1

13

103.5 ps

Listedesinformationsprsentes...
STAT:tatduprocessus

R(runnable):prttreexcut

S(sleeping):endormi

D:sommeilininterruptible

T(traced):tracousuivi

Z:processuszombie

TTY:terminalassoci
CMD:commandelieauprocessus

UPMC FP Prparation LPI - v1.1

14

103.5 ps

Listedesoptions
Attention:infosdiffrentesentrepagedemanueletlaralit
desoptions.Faireunps?
Comportementdesoptionsdiffrentselonquel'onemploiele
tiretounon
A:touslesprocessusavecaffichagesimple(PI,TTY,
TIME,CMD)
a:touslesprocessusavecunterminalassoci
a:touslesprocessusavecunterminalassocipourtous
lesutilisateurs
r:afficheseulementlesprocessusencoursd'excution

UPMC FP Prparation LPI - v1.1

15

103.5 ps

Listedesoptions(formatdesortie)...
l:formatlong
f:formatfull
F:formatextrafull
u:affichel'utilisateurpropritaireetl'heuredelancement
e:affichel'environnementd'excution
wouw,wwouww:affichagesurplusieurslignes
f(forest):affichel'arbregnalogiquedesprocessus
n:infosnumriques(UID)

UPMC FP Prparation LPI - v1.1

16

103.5 ps

Listedesoptions(tri)...
O[+|]k1[,[+|]k2[,...]]:Permetdetrierles
rsultatenfonctiondeclsdetri(k1,k2,...)
+etpermettentdedfinirunordrealphabtiqueouun
ordreinverse
#psefO1,2
sortX[+|]key[,[+|]key[,...]]:mmefonction
quel'optionOmaiskeyreprsentecettefoiscilenomdela
colonne(ppidparexemple)
Lesclsdetrisontlistesdansleman:

p:pid

P:ppid

u:nomd'utilisateur

U:UID

UPMC FP Prparation LPI - v1.1

17

103.5 ps

Attention!Cesdeuxcommandesnedonnentpaslemme
rsultat
$pseft
UIDPIDPPIDCSTIMETTYSTATTIMECMD
root10021:40?Ss0:01/sbin/init
root20021:40?S<0:00[kthreadd]
root32021:40?S<0:00[migration/0]
root42021:40?S<0:00[ksoftirqd/0]
$pseft
PIDTTYSTATTIMECOMMAND
2?S<0:00[kthreadd]
3?S<0:00\_[migration/0]
4?S<0:00\_[ksoftirqd/0]
5?S<0:00\_[watchdog/0]
6?S<0:00\_[events/0]

UPMC FP Prparation LPI - v1.1

18

103.5 Contrle des commandes


$psO+p
PIDTTYSTATTIMECOMMAND
3182pts/0Ss0:00bash
3234pts/1Ss+0:00bash
3270pts/0S+0:00manps
3273pts/0S+0:00shc(cd"/usr/share/man/fr"&&(echo".pl1100i";/
3274pts/0S+0:00shc(cd"/usr/share/man/fr"&&(echo".pl1100i";/
3281pts/0S+0:00/usr/bin/lessis
3407pts/2Rs0:00bash
3549pts/2R+0:00psO+p
$psOp
PIDTTYSTATTIMECOMMAND
3553pts/2R+0:00psOp
3407pts/2Ss0:00bash
3281pts/0S+0:00/usr/bin/lessis
3274pts/0S+0:00shc(cd"/usr/share/man/fr"&&(echo".pl1100i";/
3273pts/0S+0:00shc(cd"/usr/share/man/fr"&&(echo".pl1100i";/
3270pts/0S+0:00manps
3234pts/1Ss+0:00bash
3182pts/0Ss0:00bash
UPMC FP Prparation LPI - v1.1

19

103.5 pstree

Commandepstree:affichelesprocessussousuneforma
arborescente.
pstree[a][c][h|Hpid][l][n][p][u]
[Z][A|G|U][pid|utilisateur]
Silepidestomis,laracinedel'arbreestleprocessusinit
(pid=1)
Sil'utilisateurestprcis,seulslesprocessusdecetutilisateurs
serontaffichs
Options:
l:afficherlesligneslongues
n:trinumriquedesprocessusayantlemmeanctre
pluttqueparleurnom
p:ajoutelePIDl'affichage

UPMC

u:affichelestransitiond'UIDsil'UIDdupreestdiffrent
deceluidufils
20
FP Prparation LPI - v1.1

103.5 Contrle des commandes


$pstree
initNetworkManagerdhclient
{NetworkManager}
acpid
atd
auditdaudispdsedispatch
{audispd}
{auditd}
avahidaemonavahidaemon
bluetoothd
bonoboactivati{bonoboactivati}
.......
$echo$$
3234
$pstree3234
bashpstree

UPMC FP Prparation LPI - v1.1

21

103.5 top

Commandetop:afficheentempsrellesprocessusen
coursd'excutionainsiqu'unrsumdesressourcessystme
tophv|bcHisSddelayniterationsppid
[,pid...]
Beaucoupd'optionsquimodifientlesinfosaffiches,lesdlais
derafrachissement,....
Champsaffichs
PID:identifiantduprocessus
PPID:PIDduprocessusparent
USER:nomdupropritaireduprocessus
PR:prioritdelatche
NI:valeurdegentillesse
UPMC FP Prparation LPI - v1.1

22

103.5 top

Champsaffichs...
VIRT:empreintemmoiredelatche(RES+SWAP)
RES:empreintemmoiredelatche
%CPUet%MEM:respectivementlespourcentage
d'utilisationcpuetmmoireutiliss
TIMEetTIME+:tempsd'excutiondelatche
COMMAND:nomdelatche

UPMC FP Prparation LPI - v1.1

23

103.5 top

Modeinteractif
<Entre>ou<Espace>:rafrachissementdel'affichage
<?>ou<h>:aideu
u:saisied'unnomd'utilisateurouUIDaffichagedes
tcheposdesparcetutilisateur
k:saisied'unPIDenvoidusignalSIGTERM
q:quittertop
r:reniced'unetche

UPMC FP Prparation LPI - v1.1

24

103.5 top
top22:55:09up54min,2users,loadaverage:0.00,0.00,0.00
Tasks:188total,2running,140sleeping,0stopped,46zombie
Cpu(s):1.6%us,2.0%sy,0.0%ni,96.4%id,0.0%wa,0.0%hi,0.0%si,0.0%st
Mem:1277124ktotal,722968kused,554156kfree,33248kbuffers
Swap:2441840ktotal,0kused,2441840kfree,358628kcached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
950root2003626412m6784S1.71.00:48.01Xorg
756haldaemo200612039723304S0.70.30:01.32hald
1756franck2001796453123936S0.30.40:00.25gnomescreensav
1880franck200246m110m63mS0.38.80:57.22soffice.bin
1988franck2003818012m9636S0.31.00:01.92gnometerminal
2009franck20024721208884R0.30.10:18.30top
1root200253215281128S0.00.10:01.26init
2root155000S0.00.00:00.00kthreadd
3rootRT5000S0.00.00:00.00migration/0
4root155000S0.00.00:00.02ksoftirqd/0
5rootRT5000S0.00.00:00.00watchdog/0
6root155000S0.00.00:00.05events/0

UPMC FP Prparation LPI - v1.1

25

103.5 uptime

Commandeuptime:afficheladuredefonctionnement
d'unserveurdepuissondernierredmarrage
uptime
Afficheladuredefonctionnement,lenombred'utilisateurs
connects,lachargedusystmedespremires,5et15
derniresminutes
$uptime
23:21:48up1:21,2users,loadaverage:0.00,0.00,0.00

UPMC FP Prparation LPI - v1.1

26

103.5 free

Commandefree:affichelammoireutiliseetdisponible
free[b|k|m|g][o][sdelay][t]
[V]
Options
b,k,m,g:affichageenoctet,kilo,mega,gigaoctets
ssec:rafrachissementdel'affichagetouteslessec
secondes
$free
totalusedfreesharedbufferscached
Mem:1277124733560543564034740364456
/+buffers/cache:334364942760
Swap:244184002441840

UPMC FP Prparation LPI - v1.1

27

103.5 kill

Commandekill:envoid'unsignalunprocessus
(SIGTERMpardfaut)
kill[signal|ssignal]pid
kill[L|V,version
killl[signal]
Options
l:listedessignauxdisponiblesettraduitlesnomsde
signauxenvaleurnumriqueetinversement
$killl9
KILL
$killlTERM
15

UPMC FP Prparation LPI - v1.1

28

103.5 kill

AvecunnumrodePIDprcdd'unmoins:envoid'unsignal
ungroupedeprocessus(voircolonnePGIDdelacommande
ps)
SiPID=1:signifietouslesprocessussaufinitetkillluimme

UPMC FP Prparation LPI - v1.1

29

103.5 kill

Correspondancedessignaux
SIGHUP<=>HUP<=>1:leplussouvent,relecturedes
fichiersdeconfiguration
SIGINT<=>INT<=>2:InterruptEmisparCtrl+C
SIGQUIT<=>QUIT<=>3:QuitEmisparCtrl+D
SIGKILL<=>KILL<=>9:leprocessusquittesansfaireles
procduresdenettoyage
SIGTERM<=>TERM<=>15:leprocessusquitteaprs
avoirfaitlesoprationsdenettoyage

UPMC FP Prparation LPI - v1.1

30

103.5 killall

Commandekillall:envoid'unsignalunensemblede
processus(SIGTERMpardfaut)surlabasedeleurnoms
killall[Z,contextpattern][e,exact][
g,processgroup][i,interactive][q,
quiet][r,regexp][s,signalsignal][u,
useruser][v,verbose][w,wait][I,
ignorecase][V,version][]name
killalll
killallV,version

UPMC FP Prparation LPI - v1.1

31

103.5 killall

Options...
i:demandeconfirmationavantchaqueenvoidesignal
r:slectiondeprocessussurlabased'expressions
rgulires
s:spcificationdusignalaulieudeSIGTERMpardfaut
lenomdusignaldoittrecomposdeSIG+nomdusignal
Exemple:
killallsSIGKILLhttpd
u:slectiondesprocessusdtenusparunutilisateur
particulier

UPMC FP Prparation LPI - v1.1

32

Quelques conseils LPI...

Commandetop:commentinteragirpourenvoyerunsignalun
processussansquittertop
Connatrelescorrespondancesdes3formesdessignauxlesplus
courantes(9;KILL,SIGKILL)

UPMC FP Prparation LPI - v1.1

33