如何使 nohup 不创建任何输出文件,从而不占用所有空间?

如何使 nohup 不创建任何输出文件,从而不占用所有空间?

所以我用 启动一些服务器nohup ./myServer &,实际上我已经登录了我的服务器,所以我不需要 nohup 的任何帮助,但是无论我如何66GB nohup.out在几天内获取文件,这都是一个问题。我只想启动一个应用程序,让它自行运行。那么如何让 nohup 不创建任何输出文件,从而不占用任何空间呢?

答案1

将输出重定向到/dev/null

nohup ./myServer >& /dev/null &

或者,如果您想丢弃标准输出但保留标准错误,您可以使用以下命令:

nohup ./myServer > /dev/null &

如果您需要对重定向进行更多控制(使用 bash),您可以在此处找到更多详细信息:

答案2

setsid我今天才了解到这个实用程序;我不知道为什么我花了这么长时间。您可以使用setsid实用程序像这样运行您的进程:

setsid ./myServer

setid 在新会话中运行程序。如果已经是进程组领导者,则该命令调用 fork(2)。否则,它执行当前进程中的程序。此默认行为可以通过 --fork 选项覆盖

/usr/bin/setsid在 Ubuntu 上通过最小安装与 util-linux 软件包一起安装。

相关内容