我的 rundeck 作业执行一个简单的 nohup 命令“cd /tmp/; nohup ls -l &”。作业执行日志将获得命令输出,但不会在该目录中生成 nohup.out 文件。
我在 rundeck 工作流程中使用了所有类型的步骤。all 无法生成 nohup.out 文件。
有谁知道为什么 rundeck 无法生成 nohup.out 文件而是将命令输出发送到执行日志?感谢
您似乎没有将输出重定向到文件,根据我的经验, nohup 在 RunDeck 中运行良好。
cd /tmp/; nohup ls -l > /tmp/nohup.something
我有一个可行的理论:nohup
正在被 Rundeck 基础设施使用/解释,并大致解释为:“在后台无限期地运行这项工作”,而我们通常不理解“输出到非 tty”(即 stdout/stderr 到nohup.out 或一起通过管道传输到文件)。或者至少,我相当确定它没有执行我路径上的 nohup 版本。
因此:
&
,虽然它不会伤害任何东西就我而言,我翻译自:
cd tools/celery && nohup ./start.sh flower > log_name.txt &
至:
cd tools/celery && nohup ./start.sh flower > log_name.txt 2>&1