2013-05-05 2 views
0

У меня есть программа x, которая иногда сбой на определенных входных файлах.Как написать скрипт bash для проверки сбоя программы?

Как написать сценарий bash, который возвращает следующее?

  • 0, если программа х завершается нормально или работает дольше, чем 1/20 второго
  • 1, если программа х ошибку сегментации

Обратите внимание, что программа будет Segfault или бежать навсегда, так Мне нужно как-то остановить сценарий. Вы можете показать мне, пожалуйста,

Спасибо за любые идеи

+0

Вы должны возвращать 0, если ваша программа succed и не нуль, если она выходит из строя. Другие используемые вами команды, вероятно, используют этот стандарт. – Lynch

+0

Lynch, ok Я его отредактировал. Благодарю. – albatross

ответ

1

Большинство программ, когда они не заканчиваются правильно возвращать 0. Эта информация может быть почерпнутые из переменной Баш $?. Итак, после запуска программы проверьте, является ли $? равно 0. Если это так, программа запускается успешно. В противном случае возникла проблема.

Это, конечно, предполагается, что программа соответствует соответствующим соглашениям.

+0

Программа будет segfault или бежать навсегда, поэтому мне нужно как-то остановить ее с помощью скрипта. вы можете показать мне, пожалуйста, – albatross

+0

Вы можете использовать 'timeout' для остановки программы через n секунд. – Lynch

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