У меня есть скрипт Python, который я хочу перезапустить, если он падает. Поэтому я создал стартовый скрипт Bash, который запускает и перезапускает скрипт Python в /usr /local /bin /starter

Вот стартовый скрипт:

#!/usr/bin/env bash
until myPythonScript; do
    sleep 1s;
done

Этот стартовый скрипт я запускаю @reboot (cronjob).

Мой скрипт Python также находится в /usr /local /bin /myPythonScript, поэтому я могу запустить его, просто набрав myPythonScript .

Теперь моя проблема в том, что я получаю сообщение об ошибке, что мой /usr/local/bin/starter не может найти команду myPythonScript . Кто-нибудь знает, почему и как я мог решить это.

1 ответ1

2

Используйте полный путь. Если вы используете crontable, у cron нет того же env, включая path, который вы используете.

Вы также можете рассмотреть inittab. Это может гарантировать, что процессы работают и перезапускаются, если их нет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .