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."