每个人都在说添加&在命令的末尾,我用ping命令尝试了这一点,但是它仍然出现在前台,唯一的改变就是它在ctrl c之后不会停止。我做错了什么?我跑了8.8.8.8&。如果有人能解释这一点,我们会很感激,我只想在后台运行这个命令,这样我就可以在它执行ping操作时使用我的服务器。
发布于 2021-01-22 11:18:48
添加&确实会在后台运行该进程。但是,该程序仍将像往常一样继续写入输出(到标准输出和标准错误流)。
您将不得不沉默该输出,例如通过命令行开关,或通过将输出重定向到文件。
对于ping,您可以运行:
ping 8.8.8.8 -q &或者,您也可以例如:
ping 8.8.8.8 > log.txt 2>&1 &这将将标准输出和标准错误重定向到文件log.txt --如果要检查或以其他方式使用输出,这将非常有用。
如果您不关心输出,那么只需重定向到/dev/null (专用设备文件),丢弃输出:
ping 8.8.8.8 > /dev/null 2>&1 &也许您仍然希望看到任何错误,或者将错误转到单独的文件中,在这种情况下可以执行以下操作:
# Errors in errors.txt and output in log.txt
ping 8.8.8.8 > log.txt 2> errors.txt &
# Output in log.txt and errors to standard error as usual
ping 8.8.8.8 > log.txt &https://stackoverflow.com/questions/65843984
复制相似问题