Я закодировал программу в c для встроенной системы (Devkit8000, которая является клоном известного BeagleBoard) под управлением Angstrom Linux.Проблема с программой, выполненной crontab
Программа создает пару потоков, из них отвечает за съемку с помощью камеры, подключенной к плате, и прямо сейчас вторая нить только перемещает изображения на другой путь. Программа должна работать в течение всего дня, и единственный способ ее остановить - отправить сигнал.
Я отредактировал crontab, чтобы запустить программу за определенный час и отправить сигнал, когда он должен остановиться, проблема в том, что запуск программы таким образом заставляет процесс быть убитым через некоторое время, но, если я запускаю программу вручную (через командную строку), она отлично работает и не останавливается.
Я понятия не имею о причине этого различного поведения между crontab и командной строкой. Я проверил системные журналы, но не нашел ничего полезного. Я также немного читал и обнаружил, что ОС может убить процесс, если он использует столько ресурсов, но не имеет смысла, что это происходит только в 1 сценарии (crontab vs вручную) ...
Любой ключ о том, что происходит?
Спасибо заранее!
Переменные среды, как правило, не совпадают при запуске чего-либо из crontab по сравнению с командной строкой. Перед запуском приложения убедитесь, что все соответствующие переменные «PATH» установлены. Также убедитесь, что любые переменные среды, которые могут быть использованы библиотеками в вашем приложении, имеют ожидаемое значение. – HonkyTonk
Как я сказал cdarke, я посмотрю в своем коде, чтобы проверить, не использует ли он какую-либо переменную $ ENV :) – Kitinz