Когда моя система запускается, она все регистрирует в syslog/dmesg. И я могу просмотреть ее на предмет проблем.
Когда моя система выключается, где это регистрируется? Я не увидел ничего очевидного в /var/log
10.04. (Моя система 11.10 сейчас недоступна.)
я посмотрел на Как включить «ведение журнала выключения» или трассировку операционной системы? но ничего не увидел, что помогло бы.
Я использую Kubuntu, но на этом уровне все, вероятно, то же самое.
решение1
Операции выключения регистрируются в /var/log/syslog.
хвост -f /var/log/syslog
решение2
Так и не нашел ответа на этот вопрос, но придумал свою собственную альтернативу.
Я создал rc.local_jjp в /etc
#!/bin/sh -e
#
# rc.local_jjp
#
# This script is executed at the start of runlevel 0 and 6
# and at the end of runlevels 1,2 and 3
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
LOG='/var/log/maint/mysyslog'
DATE="`date`"
case "$1" in
start)
start
;;
stop)
echo "System Shutdown at $DATE" >> $LOG
;;
restart)
echo "System Restart at $DATE" >> $LOG
;;
*)
echo "Usage: $0 {start|stop|restart}" >> $LOG
exit 1
esac
exit 0
Затем я создал символическую ссылку на каталоги уровня запуска.
sudo ln -s /etc/rc.local_jjp /etc/rc0.d/K02rc.local_jjp
sudo ln -s /etc/rc.local_jjp /etc/rc1.d/S99rc.local_jjp
sudo ln -s /etc/rc.local_jjp /etc/rc2.d/S99rc.local_jjp
sudo ln -s /etc/rc.local_jjp /etc/rc3.d/S99rc.local_jjp
sudo ln -s /etc/rc.local_jjp /etc/rc6.d/K02rc.local_jjp
(Я не совсем понимал, что делают уровни запуска 4 и 5, поэтому не добавлял для них символические ссылки.)
Теперь у меня есть свой собственный небольшой системный журнал, который показывает запуски и завершения работы.
Я не буду много говорить о поведении Linux при запуске и завершении работы (в основном потому, что я не очень хорошо в этом разбираюсь), но основная идея заключается в том, что скрипты в специальных каталогах выполняются, когда система меняет уровень выполнения, например, когда она переходит с загрузочного на многопользовательский (уровень выполнения 3).
Поскольку моему скрипту необходимо, чтобы система работала нормально, и я не хочу случайно помешать чему-то важному, я назвал символические ссылки так, чтобы они выполнялись одним из последних действий при запуске и одним из первых при завершении работы.