所以我用 启动一些服务器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 软件包一起安装。