Назад | Перейти на главную страницу

(bsnmpd), uid 0: завершено по сигналу 6 (ядро выгружено) / Синтаксическая ошибка: неожиданное слово (ожидание «затем»)

Я использую FreeBSD 9.2-RELEASE:

# uname -a
FreeBSD f9.alexus.org 9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255898: Thu Sep 26 22:50:31 UTC 2013     root@bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
# 

время от времени bsnmpd(1) выдает мне следующее сообщение:

# bzip2 -cd /var/log/all.log.0.bz2 | grep bsnmpd
Oct 12 21:01:44 f9 kernel: pid 62584 (bsnmpd), uid 0: exited on signal 6 (core dumped)
# 

я ДЕЙСТВИТЕЛЬНО хотел бы выяснить, в чем причина этого, но пока что:

# crontab -l | grep @hourly
@hourly     `which service` bsnmpd status >/dev/null ; if ( $? != 0 ) `which service` bsnmpd start ; endif
# 

Я продолжаю получать электронное письмо со следующим сообщением:

Syntax error: word unexpected (expecting "then")

тест (через оболочку):

# `which service` bsnmpd status >/dev/null ; if ( $? != 0 ) `which service` bsnmpd start ; endif
# /etc/rc.d/bsnmpd stop
Stopping bsnmpd.
Waiting for PIDS: 60671.
# /etc/rc.d/bsnmpd status
bsnmpd is not running.
# `which service` bsnmpd status > /dev/null ; if ( $? != 0 ) `which service` bsnmpd start ; endif
Starting bsnmpd.
# /etc/rc.d/bsnmpd status
bsnmpd is running as pid 61042.
#
  1. Как я могу отладить причину bsnmpd(1) выйти на первое место?
  2. Что не так с моим cronjob?

Вам нужно, чтобы задание cron выглядело примерно так:

/usr/sbin/service bsnmpd status >/dev/null ; if [ $? != 0 ] ; then /usr/sbin/service bsnmpd start ; fi

В любом случае, давайте разберемся, почему bsnmpd - это дамп ядра. Посмотри, сможешь ли ты найти bsnmpd.core файл, затем запустите /usr/bin/gdb /usr/sbin/bsnmpd bsnmpd.core затем беги bt и вставьте вывод.