Answers:
使用nohup
,如果你的后台作业需要较长时间才能完成,或者你只是使用SecureCRT的或类似的东西登录服务器。
重定向标准输出和标准错误,以/dev/null
忽略输出。
nohup /path/to/your/script.sh > /dev/null 2>&1 &
nohup /path/to/your/script.sh parameter1 > & 1 &
如果有人知道更好的方法”。
/dev/null 2>&1
如果您正在使用nohup
,则不需要,因为它已经自动将所有STDOUT和STDERR流附加到nohup.out文件中。仅使用:nohup /path/to/your/command &
-bash: syntax error near unexpected token '&'
将输出重定向到这样的文件:
./a.sh > somefile 2>&1 &
这会将stdout和stderr都重定向到同一文件。如果要将stdout和stderr重定向到两个不同的文件,请使用以下命令:
./a.sh > stdoutfile 2> stderrfile &
/dev/null
如果您不关心stdout和/或stderr,则可以将它们用作一个或两个文件。
有关重定向的详细信息,请参见bash手册页。
抱歉,这有点晚了,但是找到了不需要任何标准或错误输出的松散命令的理想解决方案(应归功于以下地址:http : //felixmilea.com/2014/12/running-bash-commands-background -正确/)
这会将输出重定向为null并保持屏幕清晰:
command &>/dev/null &
这些示例工作正常:
nohup sh prog.sh proglog.log 2>&1&
对于循环,您可以这样使用:
为{1..10}中的i;做sh prog.sh; 睡1; 完成prog.log 2>&1&
它在后台运行,不显示任何输出。