gpt4 book ai didi

linux - 直接从命令行运行可执行文件和从 Linux 中的 cron 作业运行可执行文件有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 11:26:43 26 4
gpt4 key购买 nike

我有这个可执行文件,它向远程服务器查询命令,在本地机器上执行它,并将标准输出(也可能是标准错误)返回给服务器。

如果从命令行(作为 root)调用此可执行文件运行良好,但我发现它在由 cron 作业自动执行时某些命令失败。

在使用 crontab 安排此可执行文件定期运行时,我应该期望在环境(用户、标准输入、标准输出等)方面有何差异?

谢谢!

最佳答案

最重要的区别是 .bashrc 等文件不会在 cron 作业之前执行,因此您通常在命令行中拥有的许多环境变量将会丢失。因此,如果您的程序无法在 cron 作业中运行,请将其嵌入到设置所有必要环境变量的脚本中。

关于输入和输出,cron 作业显然没有用户交互,因此程序不应期待输入(如果需要,请从输入文件或直接在脚本中提供),并且任何输出都应重定向到日志文件。

关于linux - 直接从命令行运行可执行文件和从 Linux 中的 cron 作业运行可执行文件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1618238/

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