When you shut down IPFire, it transitions to init level 0. The final script executed during this transition is /etc/init.d/halt
. This script calls the system utility with the following flags: halt -d -f -i -p
. The -p
flag is what powers off your machine.
The flags have the following meanings:
-d
: Writes debugging information.-f
: Forces the halt action, bypassing the init system.-i
: Disables all network interfaces.-p
: Powers off the system.
If removing the flag -p solves your problem this is what you could consider doing to change the system behavior:
- Copy the original halt script to a new location:
cp /etc/init.d/halt /home/mydir/custom_halt
. - Edit
/home/mydir/custom_halt
to remove the-p
flag; make sure the script is executable. - Change the symlink in
/etc/rc.d/rc0.d/
to point to the new script:ln -sf /home/mydir/custom_halt /etc/rc.d/rc0.d/S99halt
.
Note: This change could be undone by system updates. Consider creating a script to reapply these changes after updates.