У меня есть скрипт Bash со всеми разрешениями на исключение, я присоединяю его к заданию cron, этот скрипт в основном только убивает и перезапускает определенный процесс, странное поведение в том, что если я запускаю скрипт через терминал, все работает нормально как и ожидалось, он выкрикивает процесс и перезапускает его, но когда запускается задание cron, он только выкрикивает процесс и ничего более ... есть идеи, почему происходит такое поведение? Спасибо
1 ответ
4
Помните, что скрипт, работающий в cron , не имеет той же среды, что и скрипт, работающий в оболочке.
Демон cron запускает подоболочку из вашего каталога HOME.
Демон cron предоставляет среду по умолчанию для каждой оболочки, определяя HOME, LOGNAME, SHELL (=/usr/bin/sh) и PATH (=/usr/bin).
Не зависит от переменных среды. Это включает в себя настройку пути, настройки x11 или что-то еще.
Используйте полный путь, например:
вместо простого вызова Java или Python вы должны использовать /usr/bin/java или /usr/bin/python.