Ubuntu 14.04 LTS. Невозможно выполнить .out двоичный код в crontab

Я создал двоичную программу с использованием C ++. Теперь я хочу, чтобы эта программа работала непрерывно. Я использую Ubuntu 14.04 LTS. Я решил использовать crontab, чтобы проверить, работает ли программа, а если нет, то запустите ее.

Программа не может запускаться с использованием пользователя root, поэтому я должен выполнить ее с помощью пользователя ubuntu.

Шаг 1.

Я проверил, что моя программа может работать, я открыл терминал и набрал:

/home/ubuntu/CountThem/CountThem.out /home/ubuntu/CountThem/name_of_input_output_files.txt >/home/ubuntu/cout.txt &

До этого момента все работает нормально ,

Шаг 2.

Я создал сценарий для запуска программы, если она не запущена. Это мой скрипт

#!/bin/bash if pgrep -f '/home/ubuntu/CountThem/CountThem.out' > /dev/null then echo "CountThem is running" else echo "CountThem is stopped" /home/ubuntu/CountThem/CountThem.out /home/ubuntu/CountThem/name_of_input_output_files.txt >/home/ubuntu/cout.txt & echo "Test" >/home/ubuntu/cout.txt fi

Шаг 3.

Я создал cron.

Я выполнил sudo crontab -u ubuntu -e и добавил строку:

* * * * * bash /home/ubuntu/restartcountthem > /home/ubuntu/logcountthem.txt

Замечания:

Я знаю, что cron запущен, файл /home/ubuntu/logcountthem.txt создается всегда, если я его удалю. [F6] также создается, поэтому я предполагаю, что строка, которая вызывает функцию Countthem.out, выполняется, но программа не запускается. Если я удаляю строку /home/ubuntu/CountThem/CountThem.out ..., слово «Тест» переходит к cout.txt Если я нахожу ./restartcountthem в терминале, он работает.

Любой совет?

0
задан 20 November 2017 в 15:04

0 ответов

Другие вопросы по тегам:

Похожие вопросы: