1

我们有一个 RHEL6 服务器,其中禁用了 IPtables、NetworkManager 和 sestatus。在同一台服务器上,我们使用 C++ 代码创建了一个二进制文件。

该二进制文件在以 root 身份手动运行时运行良好,但是当我们尝试在启动时通过 rc.local 和 cronjob(root 的,每 30 分钟运行一次)运行它时,它不会被加载到服务器内存中。

我们尝试使用 shell 脚本在启动时启动二进制文件,方法是在脚本中放置二进制路径并将脚本添加到 rc.local 和 cronjob。还是没有运气。

在玩了一些环境变量之后,我们在运行二进制文件之前将它们导出到脚本中。cronjob 问题得到解决,但启动问题保持不变。使用的变量是“MANPATH、TERM、USER、LD_LIBRARY_PATH 和 PATH”。

请让我知道是否有人遇到过此类问题并能够解决。

提前致谢

4

1 回答 1

0

使用 shell 脚本运行您的二进制文件。在脚本的开头,添加 after #!/bin/bash(取决于你最喜欢的 shell):

source ~/.bash_profile

和/或

source ~/.bashrc

和/或

source ~/.profile

当 cron 启动作业时,使用的 shell 不会加载任何内容。您必须自己初始化环境。

于 2016-01-29T13:38:57.960 回答