Двоичный файл не работает при запуске, если он помещен в rc.local на RHEL6. Этот же двоичный файл выполняется при запуске вручную

У нас есть сервер RHEL6, на котором IPtables, NetworkManager и sestatus отключены. На этом же сервере мы создали двоичный файл с использованием кода C++.

Этот двоичный файл, когда он запускается вручную с правами root, работает нормально, но когда мы пытаемся запустить его при запуске через rc.local и cronjob (root, чтобы запускать каждые 30 минут), он не загружается в память сервера.

Мы попытались использовать скрипт оболочки для запуска двоичного файла при запуске, поместив двоичный путь в скрипт и добавив скрипт в rc.local и cronjob. Все еще нет Удачи.

После игры с некоторыми переменными среды, т. Е. Мы экспортируем их в скрипт перед запуском двоичного файла. Проблема cronjob была решена, но проблема запуска осталась прежней. Используемые переменные: "MANPATH, TERM, USER, LD_LIBRARY_PATH и PATH".

Пожалуйста, дайте мне знать, если кто-то сталкивался с такой проблемой и смог ее решить.

заранее спасибо

1 ответ

Используйте сценарий оболочки для запуска вашего двоичного файла. В начале сценария добавьте после #!/bin/bash (в зависимости от вашей любимой оболочки):

source ~/.bash_profile

и / или

source ~/.bashrc

и / или

source ~/.profile

Когда cron запускает задание, используемая оболочка ничего не загружает. Вы должны сами инициировать окружение.

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