gpt4 book ai didi

linux - 二进制文件在 RHEL6 上放置在 rc.local 中时无法在启动时运行。手动运行时会执行相同的二进制文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:56 25 4
gpt4 key购买 nike

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

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

我们尝试使用 shell 脚本在启动时通过在脚本中放置二进制路径并将脚本添加到 rc.local 和 cronjob 来启动二进制文件。仍然没有运气。

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

请告诉我是否有人遇到过此类问题并能够解决。

提前致谢

最佳答案

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

source ~/.bash_profile

和/或

source ~/.bashrc

和/或

source ~/.profile

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

关于linux - 二进制文件在 RHEL6 上放置在 rc.local 中时无法在启动时运行。手动运行时会执行相同的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35085532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com