Forum Linux.général Pourquoi re-exécuter l'init lors de l’arrêt ?

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
9
avr.
2013

Salut,

Je suis en train d'adapter CentOS pour une utilisation dans un container LXC, pour ça j'ai remplacé {/etc,etc/rc.d}/rc.sysinit et /etc/init.d/halt par des version largement simplifiées. J'ai viré de ces scripts toutes les références à des trucs interdit par lxc.cap.drop ou inutiles dans ce contexte de virtualisation (synchronisation de l’horloge, remount,ro…), dans /etc/init.d/halt outre le "select case" classique à tout init script il me reste ce code là :

# Kill all processes.
[ "${BASH+bash}" = bash ] && enable kill


echo -n "Sending all processes the TERM signal..."
/sbin/killall5 -15
[ $? -eq 1 ] && failure || success
echo

sleep 2

echo -n "Sending all processes the KILL signal..."
/sbin/killall5 -9
[ $? -eq 1 ] && failure || success
echo

# Write record to wtmp file
/sbin/halt -w

# Tell init to re-exec itself.
kill -TERM 1

# reboot or halt the container
echo $(/bin/basename $command)
exec $command

Vu que je drop cap_sys_admin j'ai plus le droit d’utiliser mount dans le container, j'ai donc viré toute les références à cette commande jusqu'à:

# Tell init to re-exec itself.
kill -TERM 1

Et comme j'aime faire les choses proprement, je me pose la question de l'utilité de garder cette partie du script, la nécessité de re-executer l'init à l’arrêt est-elle liée au remontage en read-only du filesystem ou à t'elle un autre utilité ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.