Paillasse/paillasse-contenus/04-processus/lab.yaml

59 lines
1.9 KiB
YAML
Raw Permalink Normal View History

id: 04-processus
titre: Processus et services
niveau: intermediaire
duree_min: 45
formations: [nsi-tle, bts-sio-sisr, bts-ciel-ir, but-rt, tssr]
competences: [processus, signaux, systemd]
reseaux:
- nom: isole
cidr: 10.0.0.0/24
machines:
- nom: poste
image: paillasse-debian
flavor: eleve.petit
reseaux: [isole]
preparation: "systemd-run --unit=glouton --property=Restart=no sh -c 'while :; do :; done'"
consignes:
- "Un processus consomme tout le processeur : trouve-le avec top ou ps."
- "Arrête-le proprement."
- "Écris son ancien PID dans /home/eleve/pid.txt (relève-le avant de l'arrêter)."
- "Crée un service systemd `horloge` qui écrit la date dans /tmp/horloge.log toutes les 10 secondes, et active-le."
verifications:
- id: glouton-arrete
titre: Processus glouton arrêté
machine: poste
commande: "! systemctl is-active --quiet glouton"
attendu: { code_retour: 0 }
points: 2
message_echec: "Le processus glouton tourne encore."
- id: pid
titre: PID relevé
machine: poste
commande: "grep -Eq '^[0-9]+$' /home/eleve/pid.txt"
attendu: { code_retour: 0 }
points: 1
message_echec: "pid.txt doit contenir uniquement un numéro de processus."
- id: service
titre: Service horloge actif et activé
machine: poste
commande: "systemctl is-active --quiet horloge && systemctl is-enabled --quiet horloge"
attendu: { code_retour: 0 }
points: 2
message_echec: "Le service horloge n'est pas actif ou pas activé."
- id: journal
titre: Le service écrit bien
machine: poste
commande: "test -s /tmp/horloge.log"
attendu: { code_retour: 0 }
points: 1
message_echec: "/tmp/horloge.log est vide ou absent."
indices:
- "top trie par CPU ; ps aux --sort=-%cpu aussi."
- "kill envoie SIGTERM par défaut."
- "Un fichier .service va dans /etc/systemd/system/, puis systemctl daemon-reload."