我正在尝试运行nohup进程以在后台运行。该过程成功触发,但由于某种原因,它在我触发进程的位置创建了一个nohup.out文件。
nohup bash -c "./manage.py celeryd -B -E -l DEBUG &> ../../logs/celeryd_beat.nohup &> ../../logs/celeryd_beat.err" &
有没有办法可以将nohup输出变成../../ logs / celeryd_beat.nohup?
的问候,
答案 0 :(得分:2)
尝试
nohup bash -c "./manage.py celeryd -B -E -l DEBUG > ../../logs/celeryd_beat.nohup 2> ../../logs/celeryd_beat.err" &
答案 1 :(得分:0)
当然,如果你查看nohup
的手册页,它会说
要将输出保存到FILE,请使用`nohup COMMAND> FILE”。
(至少那是在我的系统上,但你应该检查一下你的系统是否相同)。像
这样的东西nohup bash -c "..." >../../logs/celeryd_beat.nohup
应该适合你。 (我在引号之间省略了你的命令,但你当然应该在执行此操作时将其包括在内)
编辑:实际上,现在我注意到您正在重定向Python脚本本身的标准输出和标准错误(您应该使用>
和2>
你希望他们去单独的文件 - 参见Jim的答案),你可能只想丢弃nohup
本身的输出,这实际上不应该包含任何内容。那么在这种情况下你可以做到
nohup bash -c "..." >/dev/null
答案 2 :(得分:0)
nohup
的一项功能是,如果您不重定向,则将输出保存到nohup.out
。由于您似乎已经保存了所需的所有输出,因此您最后可以在最后>/dev/null 2>&1
之前添加&
。 (虽然外部bash -c
有什么用?看起来对我来说完全没必要。)