如何防止 nohup 创建文件 ~/nohup.out?

ors*_*iro 16 command-line nohup

我使用该命令$ nohup ...在后台启动应用程序,以便之后可以关闭终端窗口。

执行后,它会创建文件~/nohup.out

例子:

orschiro@x230:~$ nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py"
nohup: ignoring input and appending output to 'nohup.out'
Run Code Online (Sandbox Code Playgroud)

如何防止nohup创建nohup.out

Zan*_*nna 22

您可以将输出重定向到您喜欢的任何位置,例如:

nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py" >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

重定向可防止nohup.out创建默认输出文件。/dev/null是遗忘,因此如果您根本不需要数据,请将其发送到那里。

在 bash 中,您可以缩写>/dev/null 2>&1&>/dev/null

例如,对于我经常使用的程序,我创建了一个别名(并将其添加到我的.bashrc

alias show_state='nohup /bin/bash -c "sleep 15 && python3 /home/orschiro/bin/show_state.py" >/dev/null 2>&1'
Run Code Online (Sandbox Code Playgroud)

现在我只需要输入 show_state

  • @orschiro:几年后它就不再神秘了,你会记住它;) 我建议坚持使用它,因为将它别名化意味着你不会获得那种经验,并且知道 BASH 重定向操作符是如何在顶部工作的你的头脑是一项至关重要的技能。 (2认同)