我们有一台RHEL6服务器,其中禁用了IPtables,NetworkManager和sestatus。在同一台服务器上,我们使用C ++代码创建了一个二进制文件。
当Binary以root身份手动运行时运行正常,但是当我们尝试通过rc.local和cronjob(root,每30分钟运行一次)在启动时运行它时,它不会被加载到服务器内存。
我们尝试使用shell脚本在启动时启动二进制文件,方法是在脚本中放置二进制路径并将脚本添加到rc.local和cronjob。仍然没有运气。
在玩了一些环境变量之后,我们在运行二进制文件之前用脚本导出它们。 cronjob问题得到了解决,但启动问题仍然存在。 使用的变量是" MANPATH,TERM,USER,LD_LIBRARY_PATH和PATH"。
如果有人遇到这样的问题并且能够解决问题,请告诉我。
提前致谢
答案 0 :(得分:0)
使用shell脚本运行tyour二进制文件。在脚本的开头,在#!/bin/bash
之后添加(取决于您最喜欢的shell):
source ~/.bash_profile
和/或
source ~/.bashrc
和/或
source ~/.profile
当cron启动作业时,使用的shell不会加载任何内容。你必须自己创建环境。