2008-11-12 5 views
1

У меня есть скрипт, который постоянно segfaults - проблема, которую я не могу решить, поскольку segfault находится в python libxml bindings - не писал их. Итак, в Linux я использовал для запуска inf.loop так, что, когда скрипт умирает - он перезагружается, например, так:Бесконечный цикл во FreeBSD

#!/bin/bash 
while [ 1 ] 
do 
nice -n 19 python server.py 
sleep 1 
done 

Ну, я не могу показаться, чтобы найти/бен/Баш в FreeBSD, так что Безразлично Не работай.

Любые идеи? Считайте, что cron не является вариантом - время простоя составляет несколько секунд.

ответ

3

/бен/ш почти наверняка существует, но если вам действительно нужно Баш:

cd /usr/ports/*/bash 
make install 

, которые должны установить Баш в/USR/местные/бен/Баш я верю

+0

Хотя я действительно хочу unserstand почему это не работает под «sh», но ваш рецепт для bash действительно работал - теперь установка. – 2008-11-12 22:33:30

0

Не знаете, какую оболочку использует FreeBSD по умолчанию, но она, вероятно, поставляется с несколькими. Страница man для любой оболочки, которую вы используете, должна сообщить вам синтаксис цикла оболочки. Скорее всего, это похоже.

1

В системе будет какая-то программа оболочки, и этот скрипт выглядит так, как будто он будет работать практически в любой оболочке.

Тип type bash для просмотра, где находится bash. Если нет, попробуйте sh. Он должен быть там, и он должен работать. Возьмите результат type bash или type sh и используйте вместо/bin/bash. В качестве альтернативы посмотрите/etc/passwd, найдите свою учетную запись и обратите внимание на оболочку. Я считаю, что это последнее поле, и он скажет что-то вроде/bin/sh или/usr/bin/bash или что-то еще. Используйте это вместо/bin/bash.

Смежные вопросы