Adding &
does run the process in the background. But, the program would still continue to write output (to standard output & standard error streams) as usual.
You will have to silence that output, e.g. through a command-line switch, or by redirecting the output to a file.
In the case of ping
, you can run:
ping 8.8.8.8 -q &
Alternatively, you can do for example:
ping 8.8.8.8 > log.txt 2>&1 &
This will redirect the standard output & standard error to the file log.txt
-- useful if you want to inspect or otherwise make use of the output.
If you don't care about the output, then just redirect to /dev/null
(special device file) instead, to discard the output:
ping 8.8.8.8 > /dev/null 2>&1 &
Perhaps you still want to see any errors, or have the errors go to a separate file, in which case do the following:
# 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 &
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…